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 相关文章推荐
用js小类库获取浏览器的高度和宽度信息
Jan 15 Javascript
javascript中数组的concat()方法使用介绍
Dec 18 Javascript
百度移动版的url编码解码示例
Apr 29 Javascript
jQuery插件Tmpl的简单使用方法
Apr 27 Javascript
jquery实现TAB选项卡鼠标经过带延迟效果的方法
Jul 27 Javascript
详解JavaScript基于面向对象之继承实例
Dec 16 Javascript
JS控制弹出悬浮窗口(一览画面)的实例代码
May 30 Javascript
JQueryEasyUI之DataGrid数据显示
Nov 23 Javascript
JavaScript严格模式下关于this的几种指向详解
Jul 12 Javascript
js仿微信抢红包功能
Sep 25 Javascript
jQuery+PHP实现上传裁剪图片
Jun 29 jQuery
Bootstrap 按钮样式与使用代码详解
Dec 09 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
动态新闻发布的实现及其技巧
2006/10/09 PHP
Android AsyncTack 异步任务实例详解
2016/11/02 PHP
form表单传递数组数据、php脚本接收的实例
2017/02/09 PHP
PHP实现的mongoDB数据库操作类完整实例
2018/04/10 PHP
js检测客户端不是firefox则提示下载
2007/04/07 Javascript
Javascript中常见的校验如域名、手机、邮箱等等
2014/01/02 Javascript
收集json解析的四种方法分享
2014/01/17 Javascript
javascript setinterval 的正确语法如何书写
2014/06/17 Javascript
jQuery中;function($,undefined) 前面的分号的用处
2014/12/17 Javascript
推荐一个自己用的封装好的javascript插件
2015/01/29 Javascript
JS仿Windows开机启动Loading进度条的方法
2015/02/26 Javascript
javascript实现获取字符串hash值
2015/05/10 Javascript
jQuery实现简单的列表式导航菜单效果代码
2015/08/31 Javascript
js实现仿百度风云榜可重复多次调用的TAB切换选项卡效果
2015/08/31 Javascript
Jquery Easyui进度条组件Progress使用详解(8)
2020/03/26 Javascript
Vue.js学习示例分享
2017/02/05 Javascript
详解angular路由高亮之RouterLinkActive
2018/04/28 Javascript
layer.open的自适应及居中及子页面标题的修改方法
2019/09/05 Javascript
vue项目前端微信JSAPI与外部H5支付相关实现过程及常见问题
2020/04/14 Javascript
vue项目打包后请求地址错误/打包后跨域操作
2020/11/04 Javascript
vue组件中传值EventBus的使用及注意事项说明
2020/11/16 Javascript
可拖拽组件slider.js使用方法详解
2020/12/04 Javascript
初步介绍Python中的pydoc模块和distutils模块
2015/04/13 Python
python Crypto模块的安装与使用方法
2017/12/21 Python
python互斥锁、加锁、同步机制、异步通信知识总结
2018/02/11 Python
Python之inspect模块实现获取加载模块路径的方法
2018/10/16 Python
详解Django+uwsgi+Nginx上线最佳实战
2019/03/14 Python
浅谈pytorch池化maxpool2D注意事项
2020/02/18 Python
html5移动端自适应布局的实现
2020/04/15 HTML / CSS
波兰运动鞋网上商店:e-Sporting
2018/02/16 全球购物
业务部经理岗位职责
2014/01/04 职场文书
人事专员工作职责
2014/02/22 职场文书
离婚案件被告代理词
2015/05/23 职场文书
2016社区平安家庭事迹材料
2016/02/26 职场文书
nginx rewrite功能使用场景分析
2022/05/30 Servers
springboot集成redis存对象乱码的问题及解决
2022/06/16 Java/Android