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 相关文章推荐
javascript demo 基本技巧
Dec 18 Javascript
整理一些JavaScript的IE和火狐的兼容性注意事项
Mar 17 Javascript
jquery固定底网站底部菜单效果
Aug 13 Javascript
jquery常用方法及使用示例汇总
Nov 08 Javascript
什么是 AngularJS?AngularJS简介
Dec 06 Javascript
javascript上下方向键控制表格行选中并高亮显示的方法
Feb 13 Javascript
每天一篇javascript学习小结(Function对象)
Nov 16 Javascript
html5+javascript实现简单上传的注意细节
Apr 18 Javascript
jQuery获取及设置表单input各种类型值的方法小结
May 24 Javascript
利用node.js+mongodb如何搭建一个简单登录注册的功能详解
Jul 30 Javascript
vue.js移动端app之上拉加载以及下拉刷新实战
Sep 11 Javascript
vue+element模态框中新增模态框和删除功能
Jun 11 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获取数组的键与值方法小结
2015/06/13 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
2016/12/09 PHP
PHP面向对象程序设计继承用法简单示例
2018/12/28 PHP
Laravel 登录后清空COOKIE的操作方法
2019/10/14 PHP
使用TextRange获取输入框中光标的位
2006/10/14 Javascript
javascript getElementsByName()的用法说明
2009/07/31 Javascript
jQuery中的常用事件总结
2009/12/27 Javascript
js实现局部页面打印预览原理及示例代码
2014/07/03 Javascript
JavaScript中的apply和call函数详解
2014/07/20 Javascript
Node.js 服务器端应用开发框架 -- Hapi.js
2014/07/29 Javascript
node.js中的buffer.write方法使用说明
2014/12/10 Javascript
jquery $(document).ready()和window.onload的区别浅析
2015/02/04 Javascript
jQuery仿360导航页图标拖动排序效果代码分享
2015/08/24 Javascript
jquery datatable服务端分页
2016/08/31 Javascript
JS 获取HTML标签内的子节点的方法
2016/09/21 Javascript
jquery 正整数数字校验正则表达式
2017/01/10 Javascript
Webpack实战加载SVG的方法
2017/12/26 Javascript
使用jquery的cookie实现登录页记住用户名和密码的方法
2019/03/13 jQuery
详解使用WebPack搭建React开发环境
2019/08/06 Javascript
layer.confirm()右边按钮实现href的例子
2019/09/27 Javascript
[04:27]DOTA2官方论坛水友赛集锦
2013/09/16 DOTA
Python中exit、return、sys.exit()等使用实例和区别
2015/05/28 Python
python numpy 部分排序 寻找最大的前几个数的方法
2018/06/27 Python
html5开发三八女王节表白神器
2018/03/07 HTML / CSS
手工制作的男士奢华英国鞋和服装之家:Goodwin Smith
2019/06/21 全球购物
shell变量的作用空间是什么
2013/08/17 面试题
Delphi工程师笔试题
2013/09/21 面试题
幼师自我鉴定
2014/02/01 职场文书
大学生自我鉴定书
2014/03/24 职场文书
购房协议书范本
2014/10/02 职场文书
2014年党员自我剖析材料
2014/10/07 职场文书
2014年结对帮扶工作总结
2014/12/17 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书
《曹冲称象》教学反思
2016/02/20 职场文书
如何获取numpy array前N个最大值
2021/05/14 Python
Django使用redis配置缓存的方法
2021/06/01 Redis