jQuery实现的图片分组切换焦点图插件


Posted in Javascript onJanuary 06, 2015

这是一款基于jQuery的图片切换焦点图插件,这款jQuery焦点图插件的特点是图片可以分组切换,也就是说一次可以切换多张图片,相比其他焦点图插件,它能节省更多的空间,可以向用户展示更多的图片,非常实用。

jQuery实现的图片分组切换焦点图插件

实现的代码。

html代码:

 <div class="device">

        <h2>

            <a href="javascript:;" class="pre">上一组</a><a href="javascript:;" class="next">下一组</a></h2>

        <div class="scroll">

            <ul>

                <li><a href="#">

                    <img src="images/1.jpg" /></a><a href="#" class="link">HTML5资源教程</a></li>

                <li><a href="#">

                    <img src="images/2.jpg" /></a><a href="#" class="link">HTML5资源教程</a></li>

                <li><a href="#">

                    <img src="images/3.jpg" /></a><a href="#" class="link">HTML5资源教程</a></li>

                <li><a href="#">

                    <img src="images/4.jpg" /></a><a href="#" class="link">HTML5资源教程</a></li>

                <li><a href="#">

                    <img src="images/5.jpg" /></a><a href="#" class="link">HTML5资源教程</a></li>

                <li><a href="#">

                    <img src="images/1.jpg" /></a><a href="#" class="link">HTML5资源教程</a></li>

                <li><a href="#">

                    <img src="images/2.jpg" /></a><a href="#" class="link">HTML5资源教程</a></li>

                <li><a href="#">

                    <img src="images/3.jpg" /></a><a href="#" class="link">HTML5资源教程</a></li>

                <li><a href="#">

                    <img src="images/4.jpg" /></a><a href="#" class="link">HTML5资源教程</a></li>

                <li><a href="#">

                    <img src="images/5.jpg" /></a><a href="#" class="link">HTML5资源教程</a></li>

                <li><a href="#">

                    <img src="images/1.jpg" /></a><a href="#" class="link">HTML5资源教程</a></li>

                <li><a href="#">

                    <img src="images/2.jpg" /></a><a href="#" class="link">HTML5资源教程</a></li>

                <li><a href="#">

                    <img src="images/3.jpg" /></a><a href="#" class="link">HTML5资源教程</a></li>

                <li><a href="#">

                    <img src="images/4.jpg" /></a><a href="#" class="link">HTML5资源教程</a></li>

                <li><a href="#">

                    <img src="images/5.jpg" /></a><a href="#" class="link">HTML5资源教程</a></li>

                <li><a href="#">

                    <img src="images/1.jpg" /></a><a href="#" class="link">HTML5资源教程</a></li>

                <li><a href="#">

                    <img src="images/2.jpg" /></a><a href="#" class="link">HTML5资源教程</a></li>

                <li><a href="#">

                    <img src="images/3.jpg" /></a><a href="#" class="link">HTML5资源教程</a></li>

                <li><a href="#">

                    <img src="images/4.jpg" /></a><a href="#" class="link">HTML5资源教程</a></li>

                <li><a href="#">

                    <img src="images/5.jpg" /></a><a href="#" class="link">HTML5资源教程</a></li>

            </ul>

        </div>

    </div>

js代码:

  $(function () {

            var $number = Math.ceil($('.scroll ul li').length / 4); //获取滚动几屏个数

            var margin = 10; //设置图片间距

            var $w = $('.scroll li').width() + margin; // 一屏图片的宽度

            var $width = $w * $number * 2; //设置ul宽度

            var pre = $('.device .pre');

            var next = $('.device .next');

            if ($number == 1) { pre.hide(); next.hide(); }

            $('.scroll ul').width($width);

            var num = 0;

            function autoscroll() {

                num++;

                if ($number == 1) { return false }

                if (num == $number) {

                    num = 0;

                }

                var distance = -2 * $w * num;

                $('.scroll ul').stop().animate({ left: distance });

            }

            var scrollChange = setInterval(autoscroll, 8000);

            //鼠标悬停,暂停滚动

            $(".scroll ul,.pre,.next").mouseover(function () {

                $('.scroll ul').stop()

                clearInterval(scrollChange);

            });

            // 鼠标移走,滚动继续

            $('.scroll ul,.pre,.next').mouseout(function () {

                scrollChange = setInterval(autoscroll, 8000);

            });

            //下一组

            next.click(function () {

                num++;

                if (num >= $number) { num = 0 }

                var leftdis = -2 * $w * num;

                $('.scroll ul').stop().animate({ left: leftdis });

            });

            //上一组

            pre.click(function () {

                num--;

                if (num < 0) { num = $number - 1 }

                var rightdis = -2 * $w * num;

                $('.scroll ul').stop().animate({ left: rightdis });

            });

        });
Javascript 相关文章推荐
Javascript 面向对象编程(一) 封装
Aug 28 Javascript
js对table的td进行相同内容合并示例详解
Dec 27 Javascript
JS往数组中添加项性能分析
Feb 25 Javascript
你所未知的3种Node.js代码优化方式
Feb 25 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
Apr 26 Javascript
详细AngularJs4的图片剪裁组件的实例
Jul 12 Javascript
解决VUEX兼容IE上的报错问题
Mar 01 Javascript
JavaScript设计模式之单例模式简单实例教程
Jul 02 Javascript
vuejs 制作背景淡入淡出切换动画的实例
Sep 01 Javascript
vue生成文件本地打开查看效果的实例
Sep 06 Javascript
vue移动端下拉刷新和上拉加载的实现代码
Sep 08 Javascript
vue页面切换项目实现转场动画的方法
Nov 12 Javascript
JavaScript静态类型检查工具FLOW简介
Jan 06 #Javascript
jQuery中filter()方法用法实例
Jan 06 #Javascript
JavaScript修改浏览器tab标题小技巧
Jan 06 #Javascript
ECMAScript 6即将带给我们新的数组操作方法前瞻
Jan 06 #Javascript
jQuery中hasClass()方法用法实例
Jan 06 #Javascript
jQuery中last()方法用法实例
Jan 06 #Javascript
jQuery中first()方法用法实例
Jan 06 #Javascript
You might like
PHP数据集构建JSON格式及新数组的方法
2012/11/07 PHP
探讨多键值cookie(php中cookie存取数组)的详解
2013/06/06 PHP
php合并数组中相同元素的方法
2014/11/13 PHP
PHP微信模板消息操作示例
2017/06/29 PHP
laravel实现上传图片的两种方式小结
2019/10/12 PHP
我也种棵OO树JXTree[js+css+xml]
2007/04/02 Javascript
Javascript 垃圾收集机制介绍理解
2013/05/14 Javascript
用js一次改变多个input的readonly属性值的方法
2014/06/11 Javascript
浅析jQuery中使用$所引发的问题
2016/05/29 Javascript
AngularJs directive详解及示例代码
2016/09/01 Javascript
BootStrap CSS全局样式和表格样式源码解析
2017/01/20 Javascript
JS中关于正则的巧妙操作
2017/08/31 Javascript
详解使用vscode+es6写nodejs服务端调试配置
2017/09/21 NodeJs
微信小程序使用Promise简化回调
2018/02/06 Javascript
微信小程序实现基于三元运算验证手机号/姓名功能示例
2019/01/19 Javascript
vue动画—通过钩子函数实现半场动画操作
2020/08/09 Javascript
vue组件是如何解析及渲染的?
2021/01/13 Vue.js
[32:26]EG vs IG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
Python自定义类的数组排序实现代码
2016/08/28 Python
python traceback捕获并打印异常的方法
2018/08/31 Python
Python3常见函数range()用法详解
2019/12/30 Python
python json load json 数据后出现乱序的解决方案
2020/02/27 Python
阿里健康大药房:阿里自营网上药店
2017/08/01 全球购物
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
2016/08/13 面试题
淘宝网店营销策划书
2014/01/11 职场文书
给水工程专业毕业生自荐信
2014/01/28 职场文书
军训学生自我鉴定
2014/02/12 职场文书
婚礼主持词开场白
2014/03/13 职场文书
教师师德考核自我评价
2014/09/13 职场文书
机关副主任个人四风问题整改措施
2014/09/26 职场文书
预备党员转正思想汇报
2014/09/26 职场文书
三孔导游词
2015/02/05 职场文书
党风廉政建设个人总结
2015/03/06 职场文书
2015年酒店工作总结
2015/04/28 职场文书
话题作文之关于呼唤
2019/11/29 职场文书
python用字节处理文件实例讲解
2021/04/13 Python