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 相关文章推荐
Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
Oct 29 Javascript
Javascript获取CSS伪元素属性的实现代码
Sep 28 Javascript
分享一个自己写的简单的javascript分页组件
Feb 15 Javascript
javascript实现淡蓝色的鼠标拖动选择框实例
May 09 Javascript
jQuery+CSS3折叠卡片式下拉列表框实现效果
Nov 02 Javascript
JS实现的表格行鼠标点击高亮效果代码
Nov 27 Javascript
获取IE浏览器Cookie信息的方法
Jan 23 Javascript
angular.extend方法的具体使用
Sep 14 Javascript
react-router browserHistory刷新页面404问题解决方法
Dec 29 Javascript
vue中各种通信传值方式总结
Feb 14 Javascript
Openlayers显示地理位置坐标的方法
Sep 28 Javascript
vue实现列表拖拽排序的示例代码
Apr 08 Vue.js
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获取本周星期一具体日期的方法
2015/04/20 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
2016/11/25 PHP
详谈php中 strtr 和 str_replace 的效率问题
2017/05/14 PHP
JavaScript 面向对象的之私有成员和公开成员
2010/05/04 Javascript
Jquery promise实现一张一张加载图片
2015/11/13 Javascript
详解Nodejs基于mongoose模块的增删改查的操作
2016/12/21 NodeJs
浅谈angularjs $http提交数据探索
2017/01/20 Javascript
jQuery点击弹出层弹出模态框点击模态框消失代码分享
2017/01/21 Javascript
Ionic2开发环境搭建教程
2020/08/20 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
vue 组件的封装之基于axios的ajax请求方法
2018/08/11 Javascript
vuejs+element UI点击编辑表格某一行时获取内容填入表单的示例
2018/10/31 Javascript
vue基础之模板和过滤器用法实例分析
2019/03/12 Javascript
vue npm install 安装某个指定的版本操作
2020/08/11 Javascript
Node.js fs模块原理及常见用途
2020/10/22 Javascript
Python的ORM框架SQLObject入门实例
2014/04/28 Python
Python实现二维有序数组查找的方法
2016/04/27 Python
python中print的不换行即时输出的快速解决方法
2016/07/20 Python
解决Python 遍历字典时删除元素报异常的问题
2016/09/11 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
2017/01/20 Python
Python编程实现的简单Web服务器示例
2017/06/22 Python
Python正则表达式常用函数总结
2017/06/24 Python
关于TensorFlow新旧版本函数接口变化详解
2020/02/10 Python
keras的ImageDataGenerator和flow()的用法说明
2020/07/03 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
2021/02/20 Python
澳大利亚排名第一的在线酒类商店:MyBottleShop
2018/04/26 全球购物
酒店节能降耗方案
2014/05/08 职场文书
民事授权委托书范文
2014/08/02 职场文书
信访稳定工作汇报
2014/10/27 职场文书
2015年世界无烟日活动总结
2015/02/10 职场文书
财政局长个人总结
2015/03/04 职场文书
售后服务质量承诺书
2015/04/29 职场文书
Java用自带的Image IO给图片添加水印
2021/06/15 Java/Android
Python制作动态字符画的源码
2021/08/04 Python
Spring Security中用JWT退出登录时遇到的坑
2021/10/16 Java/Android