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 相关文章推荐
通过隐藏option实现select的联动效果
Nov 10 Javascript
js 格式化时间日期函数小结
Mar 20 Javascript
JavaScript 原型继承之构造函数继承
Aug 26 Javascript
JavaScript代码复用模式实例分析
Dec 02 Javascript
js的hasownproperty使用示例
Mar 02 Javascript
JavaScript对表格或元素按文本,数字或日期排序的方法
May 26 Javascript
基于jQuery实现在线选座之高铁版
Aug 24 Javascript
体验jQuery和AngularJS的不同点及AngularJS的迷人之处
Feb 02 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
Apr 29 Javascript
Vuejs第八篇之Vuejs组件的定义实例解析
Sep 05 Javascript
js实现符合国情的日期插件详解
Jan 19 Javascript
element跨分页操作选择详解
Jun 29 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
Yii使用find findAll查找出指定字段的实现方法
2014/09/05 PHP
php封装的数据库函数与用法示例【参考thinkPHP】
2016/11/08 PHP
PHP标准库(PHP SPL)详解
2019/03/16 PHP
详解提高使用Java反射的效率方法
2019/04/29 PHP
JQuery表格拖动调整列宽效果(自己动手写的)
2014/09/01 Javascript
jQuery对象初始化的传参方式
2015/02/26 Javascript
JS利用cookie记忆当前位置的防刷新导航效果
2015/10/15 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
2015/12/30 Javascript
对node.js中render和send的用法详解
2018/05/14 Javascript
使用JavaScript通过前端发送电子邮件
2020/05/22 Javascript
vue v-for 点击当前行,获取当前行数据及event当前事件对象的操作
2020/09/10 Javascript
Vue如何循环提取对象数组中的值
2020/11/18 Vue.js
[04:52]第二届DOTA2亚洲邀请赛主赛事第一天比赛集锦:OG娜迦海妖放大配合谜团大中3人
2017/04/02 DOTA
Python 代码性能优化技巧分享
2012/08/07 Python
python实现ftp客户端示例分享
2014/02/17 Python
python实现自动重启本程序的方法
2015/07/09 Python
讲解Python的Scrapy爬虫框架使用代理进行采集的方法
2016/02/18 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
2016/07/11 Python
Python基于回溯法子集树模板实现8皇后问题
2017/09/01 Python
python正则表达式re之compile函数解析
2017/10/25 Python
Django admin实现图书管理系统菜鸟级教程完整实例
2017/12/12 Python
python3处理含有中文的url方法
2018/05/10 Python
朴素贝叶斯分类算法原理与Python实现与使用方法案例
2018/06/26 Python
在Python中将函数作为另一个函数的参数传入并调用的方法
2019/01/22 Python
python multiprocessing模块用法及原理介绍
2019/08/20 Python
python图片验证码识别最新模块muggle_ocr的示例代码
2020/07/03 Python
Python爬虫实现selenium处理iframe作用域问题
2021/01/27 Python
纯CSS3实现的8种Loading动画效果
2014/07/05 HTML / CSS
Vichy薇姿加拿大官网:法国药妆,全球专业敏感肌护肤领先品牌
2018/07/11 全球购物
Optimalprint加拿大:在线打印服务
2020/04/03 全球购物
师德师风自我剖析材料
2014/09/27 职场文书
教育合作协议范本
2014/10/17 职场文书
幼儿园辞职书
2015/02/26 职场文书
大学三好学生主要事迹范文
2015/11/03 职场文书
拒绝盗图!教你怎么用python给图片加水印
2021/06/04 Python
Mybatis-Plus进阶分页与乐观锁插件及通用枚举和多数据源详解
2022/03/21 Java/Android