JQuery分屏指示器图片轮换效果实例


Posted in Javascript onMay 21, 2015

本文实例讲述了JQuery分屏指示器图片轮换效果实现方法。分享给大家供大家参考。具体分析如下:

在Web App大行其道的今天,分屏指示器用得非常广泛,从Android、到腾讯的Web OS等等。分屏指示器给人很好的用户体验,下面就实现一个分屏指示器,用于实现图片的简单轮换效果,仅抛砖引玉~

代码如下:

<script type="text/javascript">
   var curr = 0, next = 0, count = 0;
   $(document).ready(function () {
     // 记录图片的数量 
     count = $('#img_list a').size();
     t = setInterval('imgPlay()', 3000);
     // 鼠标移动到图片或导航上停止播放,移开后恢复播放 
     $('#imgs li, #img_list a').hover(function () {
       clearInterval(t);
     }, function () {
       t = setInterval('imgPlay()', 3000);
     });
     //点击导航播放到相应的图片 
     $('#img_list a').click(function () {
       // index()函数返回当前导航的下标
       var index = $('#img_list a').index(this);
       if (curr != index) {
         play(index);
         curr = index;
       };
       return false;
     });
   });
   // 播放图片的函数
   var imgPlay = function () {
     next = curr + 1;
     // 若当前图片播放到最后一张,这设置下一张要播放的图片为第一张图片的下标
     if (curr == count - 1) next = 0;
     play(next);
     curr++;
     // 在当前图片的下标加1后,若值大于最后一张图片的下标,则设置下一轮其实播放的图片下标为第一张图片的下标,而next永远比curr大1
     if (curr > count - 1) { curr = 0; next = curr + 1; }
   };
   // 控制播放效果的函数
   var play = function (next) {
     // 当前的图片滑到左边-500px,完成后返回到右边490px
     // 下一张图片滑到0px处,完成后导航的焦点切换到下一个点上
     $('#imgs li').eq(curr).css({ 'opacity': '0.5' }).animate({ 'left': '-530px', 'opacity': '1' }, 'slow', function () {
       $(this).css({ 'left': '520px' });
     }).end()
.eq(next).animate({ 'left': '0px', 'opacity': '1' }, 'slow', function () {
  $('#img_list a').siblings('a').removeClass('active').end().eq(next).addClass('active');
});
   };
 </script>

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
爆炸式的JS圆形浮动菜单特效代码
Mar 03 Javascript
JavaScript插入动态样式实现代码
Feb 22 Javascript
关于jQuery参考实例2.0 用jQuery选择元素
Apr 07 Javascript
js的alert样式如何更改如背景颜色
Jan 22 Javascript
如何使用Bootstrap的modal组件自定义alert,confirm和modal对话框
Mar 01 Javascript
javascript中获取class的简单实现
Jul 12 Javascript
js仿新浪微博消息发布功能
Feb 17 Javascript
详解Javascript几种跨域方式总结
Feb 27 Javascript
AngularJs 常用的过滤器
May 15 Javascript
为vue-router懒加载时下载js的过程中添加loading提示避免无响应问题
Apr 03 Javascript
浅谈vue首屏加载优化
Jun 28 Javascript
vue实现一个获取按键展示快捷键效果的Input组件
Jan 13 Vue.js
jQuery聚合函数实例
May 21 #Javascript
js获取页面description的方法
May 21 #Javascript
js同源策略详解
May 21 #Javascript
js设置document.domain实现跨域的注意点分析
May 21 #Javascript
jQuery+ajax实现无刷新级联菜单示例
May 21 #Javascript
jQuery插件expander实现图片翻转特效
May 21 #Javascript
简单分析javascript面向对象与原型
May 21 #Javascript
You might like
php实现短信发送代码
2015/07/05 PHP
PHP curl模拟登录带验证码的网站
2015/11/30 PHP
php实现查询功能(数据访问)
2017/05/23 PHP
Yii 2.0实现联表查询加搜索分页的方法示例
2017/08/02 PHP
Aster vs KG BO3 第三场2.19
2021/03/10 DOTA
javascript RadioButtonList获取选中值
2009/04/09 Javascript
return false,对阻止事件默认动作的一些测试代码
2010/11/17 Javascript
Extjs NumberField后面加单位实现思路
2013/07/30 Javascript
chrome下img加载对height()的影响示例探讨
2014/05/26 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
2016/09/20 Javascript
Angularjs实现带查找筛选功能的select下拉框示例代码
2016/10/04 Javascript
JS运动特效之链式运动分析
2018/01/24 Javascript
使用百度地图实现地图网格的示例
2018/02/06 Javascript
Vue如何实现响应式系统
2018/07/11 Javascript
Angular动态绑定样式及改变UI框架样式的方法小结
2018/09/03 Javascript
vue将毫秒数转化为正常日期格式的实例
2018/09/16 Javascript
每个 JavaScript 工程师都应懂的33个概念
2018/10/22 Javascript
详解如何在Node.js的httpServer中接收前端发送的arraybuffer数据
2018/11/11 Javascript
微信小程序学习笔记之登录API与获取用户信息操作图文详解
2019/03/29 Javascript
微信接入之获取用户头像的方法步骤
2019/09/23 Javascript
vue实现表单未编辑或未保存离开弹窗提示功能
2020/04/08 Javascript
vue实现编辑器键盘抬起时内容跟随光标距顶位置向上滚动效果
2020/05/28 Javascript
Vue检测屏幕变化来改变不同的charts样式实例
2020/10/26 Javascript
[00:34]DOTA2上海特级锦标赛 Spirit战队宣传片
2016/03/04 DOTA
Python实现优先级队列结构的方法详解
2016/06/02 Python
python之PyMongo使用总结
2017/05/26 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
2018/04/27 Python
Python 分发包中添加额外文件的方法
2019/08/16 Python
python pygame实现挡板弹球游戏
2019/11/25 Python
解决Alexnet训练模型在每个epoch中准确率和loss都会一升一降问题
2020/06/17 Python
python 下载文件的多种方法汇总
2020/11/17 Python
html5-websocket基于远程方法调用的数据交互实现
2012/12/04 HTML / CSS
C#面试常见问题
2013/02/25 面试题
大学军训感言800字
2014/02/27 职场文书
大学生党员自我批评思想汇报
2014/10/10 职场文书
无房产证房屋转让协议书合同样本
2014/10/18 职场文书