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 相关文章推荐
2种jQuery 实现刮刮卡效果
Feb 01 Javascript
PHP+jQuery实现随意拖动层并即时保存拖动位置
Apr 30 Javascript
javascript常见数据验证插件大全
Aug 03 Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
Nov 17 Javascript
JS传播事件、取消事件默认行为、阻止事件传播详解
Aug 14 Javascript
详解react-router4 异步加载路由两种方法
Sep 12 Javascript
详解组件库的webpack构建速度优化
Jun 18 Javascript
详解vuex之store源码简单解析
Jun 13 Javascript
微信小程序数据统计和错误统计的实现方法
Jun 26 Javascript
JavaScript实现Excel表格效果
Feb 07 Javascript
node.js制作一个简单的登录拦截器
Feb 10 Javascript
最全vue的vue-amap使用高德地图插件画多边形范围的示例代码
Jul 17 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获取qq用户昵称和在线状态(实例分析)
2013/10/27 PHP
php获取指定(访客)IP所有信息(地址、邮政编码、国家、经纬度等)的方法
2015/07/06 PHP
微信公众号开发客服接口实例代码
2016/10/21 PHP
StringTemplate遇见jQuery冲突的解决方法
2011/09/22 Javascript
window.open不被拦截的实现代码
2012/08/22 Javascript
jQuery-ui引入后Vs2008的无智能提示问题解决方法
2014/02/10 Javascript
javascript实现的HashMap类代码
2014/06/27 Javascript
Ajax局部更新导致JS事件重复触发问题的解决方法
2014/10/14 Javascript
对javascript继承的理解
2016/10/11 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
jquery 输入框查找关键字并提亮颜色的实例代码
2018/01/23 jQuery
微信小程序实现手指触摸画板
2018/07/09 Javascript
vue自定义指令用法经典实例小结
2019/03/16 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
2019/09/05 Javascript
微信小程序左右滚动公告栏效果代码实例
2019/09/16 Javascript
npm qs模块使用详解
2020/02/07 Javascript
Vue实现附件上传功能
2020/05/28 Javascript
[01:08:10]2014 DOTA2国际邀请赛中国区预选赛 SPD-GAMING VS LGD-CDEC
2014/05/22 DOTA
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
调试Python程序代码的几种方法总结
2015/04/28 Python
Python爬虫之模拟知乎登录的方法教程
2017/05/25 Python
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
Python3按一定数据位数格式处理bin文件的方法
2019/01/24 Python
python issubclass 和 isinstance函数
2019/07/25 Python
Python paramiko 模块浅谈与SSH主要功能模拟解析
2020/02/29 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
2020/04/08 Python
英国舒适型鞋履品牌:FitFlop
2017/05/17 全球购物
意大利和国际奢侈品牌购物网站:Suitnegozi.com
2021/01/15 全球购物
师范应届生求职信
2013/11/15 职场文书
幼儿园庆六一游园活动方案
2014/01/29 职场文书
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
给妈妈洗脚活动方案
2014/08/16 职场文书
2015暑期爱心支教策划书
2015/07/14 职场文书
教学副校长工作总结
2015/08/13 职场文书
妇产科护理心得体会
2016/01/22 职场文书
Python-typing: 类型标注与支持 Any类型详解
2021/05/10 Python