js轮播功能 标签自动切换 同页面多轮播js
需要加入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的更多相关文章
- 创意编程,Python开发多功能壁纸自动切换工具!
import ctypes import time import requests import os from threading import Thread from tkinter import ...
- js -- 移动端pc端自动切换
1. 判断浏览器类型 浏览器判断使用的github开源项目current-device,下面是地址: https://github.com/matthewhudson/current-device 在 ...
- swiper轮播图(逆向自动切换类似于无限循环)
swiper插件轮播图,默认的轮播循序是会从右向左,第一张,第二张,第三张,然后肉眼可见是的从第三张从左到右倒回第一张,这样就会有些视觉体验不高, ,不过还是能够用swiper本身的特性更改成无限循环 ...
- 广告banner:手动滑动切换,自动切换,点击跳转,异步加载网络图片
效果图: 该banner功能有自动切换图片,点击图片可以自定义事件,手动滑动切换,异步加载图片 代码说话: 布局文件: <!-- 广告位 --> <FrameLayout andro ...
- js实现相册翻页,滚动,切换,轮播功能
我们在做web开发的时候,前台的效果要求是很高的,因为对于不懂程序的用户来说,前台的视觉冲击,无疑是对我们产品的第一印象. 在完成web图片各种功能上,很多框架有很绚丽的效果,但今天我们来看看用原生的 ...
- 原生js+css3实现图片自动切换,图片轮播
运用CSS3transition及opacity属性 制作图片轮播动画 自己这两天根据用js来控制触发CSS3中transition属性,从而写出来的以CSS3动画为基础,js控制过程的图片轮播 运用 ...
- Android 通过ViewFlipper实现广告轮播功能并可以通过手势滑动进行广告切换
为了实现广告轮播功能,在网上找了很多方法,有的效果很好,但是代码太麻烦,并且大多是用的viewpager,总之不是很满意. 于是看了一下sdk有个控件是ViewFlipper,使用比较方便,于是尝试了 ...
- ViewFlipper 淘宝头条 轮播 自动切换
ViewFlipper介绍 ViewFilpper类继承于ViewAnimator,而ViewAnimator类继承于FrameLayout. ViewAnimator: Base class ...
- html+css+jQuery+JavaScript实现tab自动切换功能
tab1.html内容 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> & ...
随机推荐
- loadrunner测试ajax框架
loadrunner测试ajax框架的系统时,录制回放都没有报错,但是回放后系统中没有产生数据,解决方法 loadrunnerajax框架测试脚本headerajax [问题描述]用loadrunne ...
- java短信接口调用
java短信接口调用 之前一直在一个传统的单位上班好多听容易的技术都没接触过,即使有时候想搞一搞类似于支付宝支付,短信接口调用,微信公众号,小程序之类等功能,一直有心无力终于跳槽了,估计是氛围的原因吧 ...
- bWAPP练习--injection篇SQL Injection (GET/Search)
SQL注入: SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到 ...
- Tomcat在Eclips中的使用及注意细节
1.运行环境,先配置Eclips Eclips中的Windows→ preferences→弹出框左边Server→Runtime Environments→右边Add添加需要的Apach Tomca ...
- 分割视图控制器(UISplitViewController)
这种控制器只能用于iPad,它可以在iPad屏幕中显示两个不同的场景:在横向模式下,左边显示一个表,供用户选择:用户选择表中的元素后,详细视图将显示该元素的详细信息.如果iPad被旋转到纵向模式,表将 ...
- nyoj 214 单调递增子序列(二)
单调递增子序列(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描述 ,a2...,an}(0<n<=100000),找出单调递增最长子序列,并求出其长度. ...
- C++ STL 全排列函数详解
一.概念 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个不同元素中取出m个元素的一个排列.当m=n时所有的排列情况叫全排列.如果这组数有n个,那么全排列数为n!个. 比如a ...
- [BJOI2011]禁忌 --- AC自动机 + 矩阵优化 + 期望
bzoj 2553 [BJOI2011]禁忌 题目描述: Magic Land上的人们总是提起那个传说:他们的祖先John在那个东方岛屿帮助Koishi与其姐姐Satori最终战平.而后,Koishi ...
- 【筛法求素数】【推导】【组合数】UVALive - 7642 - Prime Distance
题意:n个格子,m个球,让你把球放入某些格子里,使得所有有球的格子之间的距离(abs(i-j))均为素数 ,让你输出方案数. 只占一个格子或者两个格子显然可行. 占有三个格子的情况下,则必须保证其中两 ...
- poj 1988 并查集(终于看懂一个了/(ㄒoㄒ)/~~)
题意:有几个stack,初始里面有一个cube.支持两种操作:1.move x y: 将x所在的stack移动到y所在stack的顶部.2.count x:数在x所在stack中,在x之下的cube的 ...