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 相关文章推荐
让iframe自适应高度(支持XHTML,支持FF)
Jul 24 Javascript
JavaScript window.setTimeout() 的详细用法
Nov 04 Javascript
javascript 验证日期的函数
Mar 18 Javascript
JS检测图片大小的实例
Aug 21 Javascript
js获取浏览器基本信息大全
Nov 27 Javascript
AngularJS前端页面操作之用户修改密码功能示例
Mar 27 Javascript
ExtJs的Ext.Ajax.request实现waitMsg等待提示效果
Jun 14 Javascript
vue resource post请求时遇到的坑
Oct 19 Javascript
vue打包的时候自动将px转成rem的操作方法
Jun 20 Javascript
vue项目中使用tinymce编辑器的步骤详解
Sep 11 Javascript
JQuery特殊效果和链式调用操作示例
May 13 jQuery
JS面向对象之单选框实现
Jan 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
zen cart新进商品的随机排序修改方法
2010/09/10 PHP
PHP array_reverse() 函数原理及实例解析
2020/07/14 PHP
Jquery 模板数据绑定插件的使用方法详解
2013/07/08 Javascript
javascript实现table表格隔行变色的方法
2015/05/13 Javascript
Javascript中的迭代、归并方法详解
2016/06/14 Javascript
JS添加或修改控件的样式(Class)实现方法
2016/10/15 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
2017/01/08 Javascript
nodejs接入阿里大鱼短信验证码的方法
2017/07/10 NodeJs
vue2.0模拟锚点的实例
2018/03/14 Javascript
vue使用vuex实现首页导航切换不同路由的方法
2019/05/08 Javascript
JS实现省市县三级下拉联动
2020/04/10 Javascript
基于原生js实现判断元素是否有指定class名
2020/07/11 Javascript
vue data变量相互赋值后被实时同步的解决步骤
2020/08/05 Javascript
Vue在H5 项目中使用融云进行实时个人单聊通讯
2020/12/14 Vue.js
[01:10]DOTA2 Supermajor:英雄,由我们见证
2018/05/14 DOTA
[44:40]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
Python中的ctime()方法使用教程
2015/05/22 Python
Python+django实现文件下载
2016/01/17 Python
python 调用c语言函数的方法
2017/09/29 Python
Python实现的生成格雷码功能示例
2018/01/24 Python
详解Python 正则表达式模块
2018/11/05 Python
python GUI库图形界面开发之PyQt5切换按钮控件QPushButton详细使用方法与实例
2020/02/28 Python
python3 实现口罩抽签的功能
2020/03/11 Python
Django中Aggregation聚合的基本使用方法
2020/07/09 Python
Html5 APP中监听返回事件处理的方法示例
2018/03/15 HTML / CSS
美国在线眼镜商城:Eyeglasses.com
2017/06/26 全球购物
三星英国官网:Samsung英国
2018/09/25 全球购物
个人找工作的自我评价
2013/10/17 职场文书
餐饮业的创业计划书范文
2013/12/26 职场文书
公司面试感谢信
2014/02/01 职场文书
煤矿开采专业求职信
2014/07/08 职场文书
单独二胎证明
2015/06/24 职场文书
公文格式,规则明细(新手收藏)
2019/07/23 职场文书
Go语言中break label与goto label的区别
2021/04/28 Golang
MySQL中order by的执行过程
2022/06/05 MySQL
vue实现简易音乐播放器
2022/08/14 Vue.js