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 相关文章推荐
jquery的Theme和Theme Switcher使用小结
Sep 08 Javascript
jQuery语法总结和注意事项小结
Nov 11 Javascript
Jquery 过滤器(first,last,not,even,odd)的使用
Jan 22 Javascript
浅谈JavaScript数据类型
Mar 03 Javascript
JavaScript中的toLocaleDateString()方法使用简介
Jun 12 Javascript
JavaScript实现带箭头标识的多级下拉菜单效果
Aug 27 Javascript
老生常谈js-react组件生命周期
May 02 Javascript
js的对象与函数详解
Jan 21 Javascript
详解基于electron制作一个node压缩图片的桌面应用
Jan 29 Javascript
vue滚动固定顶部及修改样式的实例代码
May 30 Javascript
浅析Vue中拆分视图层代码的5点建议
Aug 15 Javascript
JS面向对象编程实现的拖拽功能案例详解
Mar 03 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
2020年4月放送!《Princess Connect Re:Dive》制作组 & 角色声优公开!
2020/03/06 日漫
PHP用SAX解析XML的实现代码与问题分析
2011/08/22 PHP
js或css实现滚动广告的几种方案
2010/01/28 Javascript
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
js类型转换与引用类型详解(Boolean_Number_String)
2014/03/07 Javascript
ANGULARJS中使用JQUERY分页控件
2015/09/16 Javascript
JavaScript的instanceof运算符学习教程
2016/06/08 Javascript
浅析JavaScript中var that=this
2017/02/17 Javascript
详解angularjs实现echart图表效果最简洁教程
2017/11/29 Javascript
layui点击按钮添加可编辑的一行方法
2018/08/15 Javascript
详解React之key的使用和实践
2018/09/29 Javascript
Vue中的$set的使用实例代码
2018/10/08 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
vue实现商品列表的添加删除实例讲解
2020/05/14 Javascript
JS实现拖拽元素时与另一元素碰撞检测
2020/08/27 Javascript
TypeScript 运行时类型检查补充工具
2020/09/28 Javascript
Python2.7简单连接与操作MySQL的方法
2016/04/27 Python
DataFrame中的object转换成float的方法
2018/04/10 Python
python调用摄像头拍摄数据集
2019/06/01 Python
django url到views参数传递的实例
2019/07/19 Python
python3 map函数和filter函数详解
2019/08/26 Python
Python3 操作 MySQL 插入一条数据并返回主键 id的实例
2020/03/02 Python
Django 允许局域网中的机器访问你的主机操作
2020/05/13 Python
jupyter notebook运行命令显示[*](解决办法)
2020/05/18 Python
Python如何向SQLServer存储二进制图片
2020/06/08 Python
Django视图、传参和forms验证操作
2020/07/15 Python
Python接收手机短信的代码整理
2020/08/02 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
wedgwood加拿大官网:1759年成立的英国国宝级陶瓷餐具品牌
2018/07/17 全球购物
英国在线药房和在线医生:LloydsPharmacy
2019/10/21 全球购物
成人教育自我鉴定
2013/11/01 职场文书
最新奶茶店创业计划书
2014/01/25 职场文书
人事专员的职责
2014/02/26 职场文书
师德师风整改措施
2014/10/24 职场文书
2014年公司工作总结
2014/11/22 职场文书
Vue3如何理解ref toRef和toRefs的区别
2022/02/18 Vue.js