需要加入jquery 1.43及以上版本

下面还有个简单版,一个页面只支持一个轮播

同页面多轮播js

<div>
<div class="yt_content">
<ul class="ml_content_main ml_content_main_word ms__div">
<div class="cb"></div>
</ul>
<ul class="ml_content_main ml_content_main_word ms__div" style="display: none;">
<div class="cb"></div>
</ul>
</div>
<a href="javascript:void(0);" class="yt_left" onclick="_ms_active_continue('index','-')" id="yjq_prev">上一页</a>
<a href="javascript:void(0);" class="yt_right" onclick="_ms_active_continue('index','+')" id="yjq_next">下一页</a>
</div> <div class="yl_main">
<ul class="ml_content_main ml_content_main_word ms__div2">
<li><a href="#">连接1</a></li>
</ul>
<ul class="ml_content_main ml_content_main_word ms__div2" style="display: none;">
<li><a href="#">连接1</a></li>
</ul>
<ul class="ml_content_main ml_content_main_word ms__div2" style="display: none;">
<li><a href="#">连接1</a></li>
</ul>
</div>
//执行动画
/*
indexName 轮播ID
className 分组的样式表名称,自定义的不是美工设计的,使用美工的样式名,如果他更新轮播就会失效
time 每次执行的间隔时间
prev_id 上一页按钮ID
next_id 下一页按钮ID
*/
function _ms_run(indexName,className,time,prev_id,next_id) {
if(!window["_ms_"+indexName]||parseInt(window["_ms_"+indexName])<0){//第一次当前显示序号没有值或小于0,则赋值0,
window["_ms_"+indexName]=0;
}
window["_ms_"+indexName] = ""+(parseInt(window["_ms_"+indexName])+1);
var div=$("."+className);//获取要管理的class组,其他可以自己弄
if (window["_ms_"+indexName] > div.length) {//判断如果超过最大序号则调整到第一个
window["_ms_"+indexName] = 1;
}
var index=window["_ms_"+indexName]; for (var i = 1; i <= div.length; i++) {
$(div[i-1]).hide();//隐藏所有容器
}
$(div[index-1]).show();//显示容器
if(index==1&&prev_id){//显示第一个时,隐藏上一页图片
$("#"+prev_id).hide();
}else if(index!=1&&prev_id){
$("#"+prev_id).show();
}
if(index==div.length&&next_id){//显示最后一个时,隐藏下一页图片
$("#"+next_id).hide();
}else if(index!=div.length&&next_id){
$("#"+next_id).show();
}
//执行下次动画
window["_ms_clear_"+indexName] = setTimeout(function () {
_ms_run(indexName,className,time,prev_id,next_id)
}, time);
}
//暂时清除动画效果
function _ms_stop(indexName) {
clearTimeout(window["_ms_clear_"+indexName]);
}
//继续执行动画效果
function _ms_active_continue(indexName,activeType) {
clearTimeout(window["_ms_clear_"+indexName]);
if (activeType) {
if(activeType=="+"){//下一页
//index = num;
}else if(activeType=="-"){//上一页
window["_ms_"+indexName] -= 2;
}
_ms_runset(indexName);
} else {
window["_ms_clear_"+indexName] = setTimeout(function () {
_ms_runset(indexName)
}, time);
}
}
//配置每个轮播属性
function _ms_runset(keyName){
/* _ms_run函数说明
indexName 轮播ID
className 分组的样式表名称,自定义的不是美工设计的,使用美工的样式名,如果他更新轮播就会失效
time 每次执行的间隔时间
prev_id 上一页按钮ID
next_id 下一页按钮ID
*/
switch(keyName){
case "index":
_ms_run('index', 'ms__div',30000,'yjq_prev','yjq_next');
break;
case "index2":
_ms_run('index2','ms__div2',10000,'','');
break;
case "index3":
_ms_run('index3','ms__div3',10000,'','');
break;
}
}
//第一次需要执行的轮播任务
setTimeout(function(){
_ms_runset('index','--');
_ms_runset('index2','--');
_ms_runset('index3','--');
},10000);

  

简单版,一个页面只能有一个

<div class="bd" onmouseover="stop()" onmouseleave="a_click()">

<div class="img" id="img_1"><a href="#" target="_blank"><img src="css/img/img.jpg" alt=""><span>图片标题呢</span></a></div>
<div class="img" id="img_2"><a href="#" target="_blank"><img src="css/img/img.jpg" alt=""><span>图片标题呢2</span></a></div>
<div class="img" id="img_3"><a href="#" target="_blank"><img src="css/img/img.jpg" alt=""><span>图片标题呢3</span></a></div>
<div class="numbar">
<a href="javascript:void(0)" id="img_a_1" onclick="a_click(1)">1</a>
<a href="javascript:void(0)" id="img_a_2" onclick="a_click(2)">2</a>
<a href="javascript:void(0)" id="img_a_3" onclick="a_click(3)">3</a>
</div>
</div>

<script type="text/javascript">
var index=0;
var _settimeout;
function run(){
for (var i = 1; i < 4; i++) {
$("#img_"+i).hide();
$("#img_a_"+i).removeClass("active");
}
index+=1;
if(index>3){
index=1;
}
$("#img_"+index).show();
$("#img_a_"+index).addClass("active");
_settimeout=setTimeout(function(){run()},3000);
}
function stop(){
clearTimeout(_settimeout);
}
function a_click(num){
if(num){
clearTimeout(_settimeout);
index=num-1;
run();
}else{
_settimeout=setTimeout(function(){run()},3000);
}

}
$(function(){
run();
})
</script>

 

js轮播功能 标签自动切换 同页面多轮播js的更多相关文章

  1. 创意编程,Python开发多功能壁纸自动切换工具!

    import ctypes import time import requests import os from threading import Thread from tkinter import ...

  2. js -- 移动端pc端自动切换

    1. 判断浏览器类型 浏览器判断使用的github开源项目current-device,下面是地址: https://github.com/matthewhudson/current-device 在 ...

  3. swiper轮播图(逆向自动切换类似于无限循环)

    swiper插件轮播图,默认的轮播循序是会从右向左,第一张,第二张,第三张,然后肉眼可见是的从第三张从左到右倒回第一张,这样就会有些视觉体验不高, ,不过还是能够用swiper本身的特性更改成无限循环 ...

  4. 广告banner:手动滑动切换,自动切换,点击跳转,异步加载网络图片

    效果图: 该banner功能有自动切换图片,点击图片可以自定义事件,手动滑动切换,异步加载图片 代码说话: 布局文件: <!-- 广告位 --> <FrameLayout andro ...

  5. js实现相册翻页,滚动,切换,轮播功能

    我们在做web开发的时候,前台的效果要求是很高的,因为对于不懂程序的用户来说,前台的视觉冲击,无疑是对我们产品的第一印象. 在完成web图片各种功能上,很多框架有很绚丽的效果,但今天我们来看看用原生的 ...

  6. 原生js+css3实现图片自动切换,图片轮播

    运用CSS3transition及opacity属性 制作图片轮播动画 自己这两天根据用js来控制触发CSS3中transition属性,从而写出来的以CSS3动画为基础,js控制过程的图片轮播 运用 ...

  7. Android 通过ViewFlipper实现广告轮播功能并可以通过手势滑动进行广告切换

    为了实现广告轮播功能,在网上找了很多方法,有的效果很好,但是代码太麻烦,并且大多是用的viewpager,总之不是很满意. 于是看了一下sdk有个控件是ViewFlipper,使用比较方便,于是尝试了 ...

  8. ViewFlipper 淘宝头条 轮播 自动切换

    ViewFlipper介绍 ViewFilpper类继承于ViewAnimator,而ViewAnimator类继承于FrameLayout.     ViewAnimator: Base class ...

  9. html+css+jQuery+JavaScript实现tab自动切换功能

    tab1.html内容 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...

随机推荐

  1. 实现手机端上下左右滑屏的jq原生代码和使用库·两种办法

    先来一个原生的.我使用的是jq. 需要注意的地方就是被触发的元素最好不要是body,这个代码也可以修改,如果obj传进来的是body那么,$(this)必须是你的监听元素,不然会冒泡泡,整个项目就…… ...

  2. 使用自己的域名解析 cnblogs 博客

    使用自己的域名解析 cnblogs 博客(博客园) 1.实现原理 用户访问 -> 阿里云解析 -> github page 跳转 -> 真实的博客地址 2.创建 github pag ...

  3. Docker —几个概念的理解

    本文从一种使用场景来引出docker,并讨论了什么是镜像,容器,仓库,以及docker的相关概念. 试想一种使用场景: 我的wordpress 博客网站现在部署在阿里云服务器上,但是在后期的使用中我有 ...

  4. esxi上引起vm绑定浮动IP无法和外面通信

    在vmware esxi环境通过创建VM安装完成openstack之后,发现创建Instance后网络不通,经过多方面排查,最后确定是vmware esxi标准交换机拒绝“混杂模式”所致,故打开“混杂 ...

  5. web.xml2.3配置需要注意的顺序问题

    今天在做一个街道办事处项目时,用了eWebeditor编辑器,在按照说明文件进行web.xml配置时,在<web-app>一行上出现红叉,提示信息为:The content of elem ...

  6. bzoj 2733: [HNOI2012]永无乡 -- 线段树

    2733: [HNOI2012]永无乡 Time Limit: 10 Sec  Memory Limit: 128 MB Description 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自 ...

  7. Educational Codeforces Round 11 D. Number of Parallelograms 暴力

    D. Number of Parallelograms 题目连接: http://www.codeforces.com/contest/660/problem/D Description You ar ...

  8. Codeforces Round #304 (Div. 2) B. Soldier and Badges 水题

    B. Soldier and Badges Time Limit: 20 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/54 ...

  9. 应该用H5编写APP还是用原生的呢?

    现观目前市场上的APP横行,不同行业.不同类目的APP在国内各大应用市场挤爆的满满了,那么作为一个程序员或者一个企业如何能从容的把握住制作一款实用又符合用户体验的APP呢? 自从接触APP也有四年多了 ...

  10. CentOS 6.9通过RPM安装EPEL源(http://dl.fedoraproject.org)

    另类的装法,通过RPM包直接安装 wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm & ...