jQuery图片轮播的具体实现


Posted in Javascript onSeptember 11, 2013

效果如下:

jQuery图片轮播的具体实现

先看一看html代码,以及对应的css代码:

<div id="scrollPics">
    <ul class="slider" >
        <li><img src="images/ads/1.gif"/></li>
        <li><img src="images/ads/2.gif"/></li>
        <li><img src="images/ads/3.gif"/></li>
        <li><img src="images/ads/4.gif"/></li>
        <li><img src="images/ads/5.gif"/></li>
    </ul>
    <ul class="num" >
        <li class="on">1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
    </ul>
</div>

#scrollPics{
    height: 150px;
    width: 100%;
    margin-bottom: 10px;
    overflow: hidden;
    position:relative;
}
.num{
    position:absolute;
    right:5px; 
    bottom:5px;
}
#scrollPics .num li{
    float: left;
    color: #FF7300;
    text-align: center;
    line-height: 16px;
    width: 16px;
    height: 16px;
    cursor: pointer;
    overflow: hidden;
    margin: 3px 1px;
    border: 1px solid #FF7300;
    background-color: #fff;
}
#scrollPics .num li.on{
    color: #fff;
    line-height: 21px;
    width: 21px;
    height: 21px;
    font-size: 16px;
    margin: 0 1px;
    border: 0;
    background-color: #FF7300;
    font-weight: bold;
}

用绝对定位设置列表 num 的位置,对 li 设置相关样式,on 表示显示图片对应的数字列表中 li 的样式类别。

接下来是 js 代码:

//滚动广告
    var len = $(".num > li").length;
    var index = 0;  //图片序号
    var adTimer;
    $(".num li").mouseover(function() {
        index = $(".num li").index(this);  //获取鼠标悬浮 li 的index
        showImg(index);
    }).eq(0).mouseover();
    //滑入停止动画,滑出开始动画.
    $('#scrollPics').hover(function() {
        clearInterval(adTimer);
    }, function() {
        adTimer = setInterval(function() {
            showImg(index)
            index++;
            if (index == len) {       //最后一张图片之后,转到第一张
                index = 0;
            }
        }, 3000);
    }).trigger("mouseleave");
    function showImg(index) {
        var adHeight = $("#scrollPics>ul>li:first").height();
        $(".slider").stop(true, false).animate({
            "marginTop": -adHeight * index + "px"    //改变 marginTop 属性的值达到轮播的效果
        }, 1000);
        $(".num li").removeClass("on")
            .eq(index).addClass("on");
    }
Javascript 相关文章推荐
怎么用javascript进行拖拽
Jul 20 Javascript
在一个form用一个SUBMIT(或button)分别提交到两个处理表单页面的代码
Feb 15 Javascript
jQuery 操作option的实现代码
Mar 03 Javascript
以JSON形式将JS中Array对象数组传至后台的方法
Jan 06 Javascript
jquery 图片缩放拖动的简单实例
Jan 08 Javascript
JavaScript的String字符串对象常用操作总结
May 26 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
Jul 18 Javascript
浅谈从React渲染流程分析Diff算法
Sep 08 Javascript
简单了解JavaScript中的执行上下文和堆栈
Jun 24 Javascript
python虚拟环境 virtualenv的简单使用
Jan 21 Javascript
JavaScript实现左右滚动电影画布
Feb 06 Javascript
详解ES6 CLASS在微信小程序中的应用实例
Apr 24 Javascript
Javascript倒计时页面跳转实例小结
Sep 11 #Javascript
用javascript判断IE版本号简单实用且向后兼容
Sep 11 #Javascript
js open() 与showModalDialog()方法使用介绍
Sep 10 #Javascript
jquery获取子节点和父节点的示例代码
Sep 10 #Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
Sep 10 #Javascript
解决css和js的{}与smarty定界符冲突问题的两种方法
Sep 10 #Javascript
枚举的实现求得1-1000所有出现1的数字并计算出现1的个数
Sep 10 #Javascript
You might like
php Http_Template_IT类库进行模板替换
2009/03/19 PHP
PHP5.3与5.5废弃与过期函数整理汇总
2014/07/10 PHP
CentOS下搭建PHP环境与WordPress博客程序的全流程总结
2016/05/07 PHP
php格式化json函数示例代码
2016/05/12 PHP
Laravel 微信小程序后端搭建步骤详解
2019/11/26 PHP
javascript 写类方式之三
2009/07/05 Javascript
jquery 分页控件实现代码
2009/11/30 Javascript
JavaScript高级程序设计(第3版)学习笔记5 js语句
2012/10/11 Javascript
JQuery+CSS实现图片上放置按钮的方法
2015/05/29 Javascript
深入理解jQuery事件绑定
2016/06/02 Javascript
使用do...while的方法输入一个月中所有的周日(实例代码)
2016/07/22 Javascript
浅谈js中test()函数在正则中的使用
2016/08/19 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
2016/11/29 Javascript
jQuery加载及解析XML文件的方法实例分析
2017/01/22 Javascript
利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)
2017/02/16 Javascript
js求数组中全部数字可拼接出的最大整数示例代码
2017/08/25 Javascript
在Vue组件上动态添加和删除属性方法
2018/02/23 Javascript
tracking.js页面人脸识别插件使用方法
2020/04/16 Javascript
微信小程序实现收货地址左滑删除
2020/11/18 Javascript
Python实现比较两个文件夹中代码变化的方法
2015/07/10 Python
浅谈Python2.6和Python3.0中八进制数字表示的区别
2017/04/28 Python
Python实现文件信息进行合并实例代码
2018/01/17 Python
Python操作MySQL数据库的三种方法总结
2018/01/30 Python
flask-socketio实现WebSocket的方法
2018/07/31 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
Ubuntu20.04环境安装tensorflow2的方法步骤
2021/01/29 Python
CSS3改变浏览器滚动条样式
2019/01/04 HTML / CSS
Canvas图片分割效果的实现
2019/07/29 HTML / CSS
linux比较文件内容的命令是什么
2015/09/23 面试题
卫校中专生个人自我评价
2013/09/19 职场文书
《长征》教学反思
2014/04/27 职场文书
大学优秀班主任事迹材料
2014/05/02 职场文书
员工三分钟演讲稿
2014/08/19 职场文书
房产协议书范本2014
2014/09/30 职场文书
群众路线剖析材料范文
2014/10/09 职场文书
党的群众路线教育实践活动个人对照检查材料(教师)
2014/11/04 职场文书