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 相关文章推荐
JS面向对象编程浅析
Aug 28 Javascript
javascript针对DOM的应用分析(二)
Apr 15 Javascript
面向对象设计模式的核心法则
Nov 10 Javascript
jquery实现两个图片渐变切换效果的方法
Jun 25 Javascript
jquery+css实现的红色线条横向二级菜单效果
Aug 22 Javascript
HTML5开发Kinect体感游戏的实例应用
Sep 18 Javascript
Node.js模块全局安装路径配置方法
May 17 Javascript
微信小程序仿微信运动步数排行(交互)
Jul 13 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
Jul 19 Javascript
解决layui的table插件无法多层级获取json数据的问题
Sep 19 Javascript
layui默认选中table的CheckBox复选框方法
Sep 19 Javascript
给原生html中添加水印遮罩层的实现示例
Apr 02 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写的求多项式导数的函数代码
2012/07/04 PHP
PHP实现文件上传下载实例
2016/10/18 PHP
iOS+PHP注册登录系统 PHP部分(上)
2016/12/26 PHP
利用Laravel事件系统如何实现登录日志的记录详解
2017/05/20 PHP
PHP使用redis消息队列发布微博的方法示例
2017/06/22 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
PHP排序算法之快速排序(Quick Sort)及其优化算法详解
2018/04/21 PHP
使用PHP反射机制来构造&quot;CREATE TABLE&quot;的sql语句
2019/03/21 PHP
js兼容的placeholder属性详解
2013/08/18 Javascript
jquery无法设置checkbox选中即没有变成选中状态
2014/03/27 Javascript
JavaScript实现存储HTML字符串示例
2014/04/21 Javascript
require.js深入了解 require.js特性介绍
2014/09/04 Javascript
SyntaxHighlighter 3.0.83使用笔记
2015/01/26 Javascript
15款jQuery分布引导插件分享
2015/02/04 Javascript
JavaScript函数的调用以及参数传递
2015/10/21 Javascript
JS定时器实现数值从0到10来回变化
2016/12/09 Javascript
Nuxt.js实现一个SSR的前端博客的示例代码
2019/09/06 Javascript
Angular 多模块项目构建过程
2020/02/13 Javascript
vue keep-alive的简单总结
2021/01/25 Vue.js
详解Python中 sys.argv[]的用法简明解释
2017/12/20 Python
详解从Django Rest Framework响应中删除空字段
2019/01/11 Python
Python实现去除图片中指定颜色的像素功能示例
2019/04/13 Python
python实现复制文件到指定目录
2019/10/16 Python
Pytorch使用MNIST数据集实现基础GAN和DCGAN详解
2020/01/10 Python
如何利用python发送邮件
2020/09/26 Python
澳大利亚最大的在线美发和美容零售商之一:My Hair Care & Beauty
2019/08/24 全球购物
Linux面试经常问的文件系统操作命令
2016/10/04 面试题
生产车间主任的个人自我鉴定
2013/10/25 职场文书
银行出纳岗位职责
2013/11/25 职场文书
转让协议书范本
2014/04/15 职场文书
借款协议书范本
2014/04/22 职场文书
个人授权委托书格式
2014/08/30 职场文书
Python中的min及返回最小值索引的操作
2021/05/10 Python
正确使用MySQL INSERT INTO语句
2021/05/26 MySQL
python3 字符串str和bytes相互转换
2022/03/23 Python
为什么MySQL8新特性会修改自增主键属性
2022/04/18 MySQL