基于Jquery实现的一个图片滚动切换


Posted in Javascript onJune 21, 2012

首先还是要引用jquery框架的。

然后开始HTML代码:

<div id="New_zlMimgMv"> 
<div class="imgMvBox"> 
<ul id="imgMvCon"> 
<li><a href="#" title=""><img src="New_zlimgMv.jpg" alt="" /></a></li> 
<li><a href="#" title=""><img src="New_zlimgMv.jpg" alt="" /></a></li> 
<li><a href="#" title=""><img src="New_zlimgMv.jpg" alt="" /></a></li> 
</ul> 
</div> 
<div class="imgMvNum"> 
<a href="javascript:;">专业问答平台</a> 
<a href="javascript:;" style="width:206px;">啊是发达庵圣坊但是分开就</a> 
<a href="javascript:;">同城阿萨德业动</a> 
</div> 
</div>

再然后看看CSS(大家也可以直接看JS的):
ul,img,li,a{ 
border:0; 
margin:0; 
padding:0; 
list-style:none; 
} 
#New_zlMimgMv { 
border: 1px solid #B8B8B8; 
height: 192px; 
margin-bottom: 12px; 
width: 446px; 
} 
#New_zlMimgMv .imgMvBox, #New_zlMimgMv .imgMvBox img { 
height: 160px; 
width: 446px; 
} 
#New_zlMimgMv .imgMvBox { 
overflow: hidden; 
} 
#New_zlMimgMv .imgMvNum a { 
background: #E6E6E6; 
display: block; 
float: left; 
height: 32px; 
line-height: 32px; 
text-align: center; 
text-decoration: none; 
width: 120px; 
color:#282828; 
} 
#New_zlMimgMv .imgMvNum a.changeThis { 
background: #A29F9F; 
color: #FFFFFF; 
}

最后是JQ代码了:
var imgLength=$("#imgMvCon li").length;//获取需滚动元素总数 
var imgHeight=$("#imgMvCon li").height();//获取需滚动元素高度 
var totalHeight=imgLength*imgHeight;//获取需滚动元素总高度 
var mvul=$("#imgMvCon"); 
var positiontop=0;//定义一个初始偏移位置0var linknum=0;//定义一个用于控制按钮切换索引的初始值 
var mvTimer;//设置一个定时器 
mvul.parent().css({"position":"relative"})//设置容器的CSS 
mvul.css({"position":"absolute"});//同上 
$(".imgMvNum a").eq(linknum).addClass("changeThis");//给第一个按钮添加样式 
function imgMv(){ 
if(imgLength>1)//如果不是一张图片的话就执行下面的 
{ 
positiontop=positiontop+imgHeight;//没执行一次便宜位置加一次高度 
if(positiontop==totalHeight)//如果偏移值等于总高度将偏移值设回0 
{ 
positiontop=0; 
} 
linknum++;//运行一次,用于控制按钮切换的索引加1 
if(linknum>=imgLength)//如果索引大于或等于滚动元素总长度,将索引设回0 
{ 
linknum=0; 
} 
mvul.animate({top:-(linknum*imgHeight)},400);//用animate属性实现滚动,'linknum*imgHeight'方便和按钮同步 
$(".imgMvNum a").removeClass("changeThis");//移除样式 
$(".imgMvNum a").eq(linknum).addClass("changeThis");//添加样式 
} 
} 
function startMv(){ 
mvTimer=setInterval(imgMv,4000);//定时器函数 
} 
startMv();//运行定时器 
$(".imgMvNum a").each(function(){//遍历按钮 
$(this).mouseover(function(){//鼠标经过按钮 
clearInterval(mvTimer);//清除定时器 
linknum=$(this).index();//鼠标经过按钮将linknum设置为当前按钮索引 
$(".imgMvNum a").removeClass("changeThis"); 
$(this).addClass("changeThis"); 
mvul.animate({top:-(linknum*imgHeight)},300);//用animate属性实现滚动,'linknum*imgHeight'方便和按钮同步 
}).mouseout(function(){ 
startMv();//鼠标移出再次执行定时器 
}); 
});

每句都注释清楚了哈。这里只是简单的写了个简单的向上效果,代码可能也不优化。主要是给大家参考和提供思路。
大家可以把这些效果封装成插件,再编写一些其它的方向或效果。
看下效果(这个文章里面样式没法完全放进来,大家可以复制到自己电脑)
Javascript 相关文章推荐
For循环中分号隔开的3部分的执行顺序探讨
May 27 Javascript
jquery移动节点实例
Jan 14 Javascript
简介JavaScript中的setDate()方法的使用
Jun 11 Javascript
jQuery中 delegate使用的问题
Jul 03 Javascript
Bootstrap学习笔记之js组件(4)
Jun 12 Javascript
jQuery结合jQuery.cookie.js插件实现换肤功能示例
Oct 14 jQuery
angular.js和vue.js中实现函数去抖示例(debounce)
Jan 18 Javascript
vue组件中使用props传递数据的实例详解
Apr 08 Javascript
Angularjs之如何在跨域请求中传输Cookie的方法
Jun 01 Javascript
浅谈bootstrap layer.open中end的使用方法
Sep 12 Javascript
layui 实现表格某一列显示图标
Sep 19 Javascript
微信小程序实现拨打电话功能的示例代码
Jun 28 Javascript
javascript学习笔记(二十) 获得和设置元素的特性(属性)
Jun 20 #Javascript
javascript学习笔记(十九) 节点的操作实现代码
Jun 20 #Javascript
javascript学习笔记(十八) 获得页面中的元素代码
Jun 20 #Javascript
javascript学习笔记(十七) 检测浏览器插件代码
Jun 20 #Javascript
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
Jun 20 #Javascript
javascript学习笔记(十五) js间歇调用和超时调用
Jun 20 #Javascript
javascript学习笔记(十四) window对象使用介绍
Jun 20 #Javascript
You might like
php自定义扩展名获取函数示例
2016/12/12 PHP
JavaScript Eval 函数使用
2010/03/23 Javascript
javascript开发技术大全-第1章javascript概述
2011/07/03 Javascript
javascript学习笔记(十) js对象 继承
2012/06/19 Javascript
同时使用n个window onload加载实例介绍
2013/04/25 Javascript
用正则表达式替换图片地址img标签
2013/11/22 Javascript
Jquery如何实现点击时高亮显示代码
2014/01/22 Javascript
js调用iframe实现打印页面内容的方法
2014/03/04 Javascript
浅析jquery的js图表组件highcharts
2014/03/06 Javascript
javascript实现根据身份证号读取相关信息
2014/12/17 Javascript
javascript实现类似于新浪微博搜索框弹出效果的方法
2015/07/27 Javascript
JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法
2016/06/05 Javascript
AngularJS 模块详解及简单实例
2016/07/28 Javascript
基于d3.js实现实时刷新的折线图
2016/08/03 Javascript
使用RN Animated做一个“添加购物车”动画的方法
2018/09/12 Javascript
基于vue-cli 路由 实现类似tab切换效果(vue 2.0)
2019/05/08 Javascript
express框架中使用jwt实现验证的方法
2019/08/25 Javascript
[01:12:44]VG vs Mineski Supermajor 败者组 BO3 第二场 6.6
2018/06/07 DOTA
编写简单的Python程序来判断文本的语种
2015/04/07 Python
Python 50行爬虫抓取并处理图灵书目过程详解
2019/09/20 Python
python提取xml里面的链接源码详解
2019/10/15 Python
python误差棒图errorbar()函数实例解析
2020/02/11 Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
2020/02/27 Python
使用Keras 实现查看model weights .h5 文件的内容
2020/06/09 Python
Keras自定义实现带masking的meanpooling层方式
2020/06/16 Python
Python 添加文件注释和函数注释操作
2020/08/09 Python
python 如何设置守护进程
2020/10/29 Python
python用分数表示矩阵的方法实例
2021/01/11 Python
CSS3毛玻璃效果(blur)有白边问题的解决方法
2016/11/15 HTML / CSS
施华洛世奇天猫官方旗舰店:SWAROVSKI
2017/04/17 全球购物
英国领先的酒杯和水晶玻璃器皿制造商:Dartington Crystal
2019/06/23 全球购物
《童年的发现》教学反思
2014/02/14 职场文书
知识竞赛活动方案
2014/02/18 职场文书
《雪地里的小画家》教学反思
2014/02/22 职场文书
四风个人对照检查材料思想汇报(办公室通用版)
2014/10/07 职场文书
CSS3 天气图标动画效果
2021/04/06 HTML / CSS