京东商城-广告轮播图

广告轮播图对于有开发经验的程序员来说非常的简单,本次贴出代码是为了让初学者能够尽快掌握实现方法,同时,如何使用更少的代码实现这一功能也是考察我们编码水平的重要因素.欢迎各位童鞋们参考交流.
css样式

<style type="text/css"> 
 *{
        margin: 0;padding: 0;
    }   
 #flash{
        position: relative;
        width: 670px;
        height: 220px;
        margin: 150px auto;
        overflow: hidden;
    } 
 #flash .scroll{
        position: absolute;
        width: 670px;
        height: 1000%;
    }   
 #flash .scroll img{
        width: 670px;
        height: 220px;
    }    
#flash .scroll ul li{
        list-style-type: none;
    }    
.control{ 
       cursor: pointer;
        width: 180px; 
       height: 20px;
        position: absolute;
        top: 330px;
        left: 720px;
        z-index: 1;
    }   
 .control li{ 
       font-size: 14px;
        margin-left: 10px;
        text-align: center;
        line-height: 26px;
        float: left;
        list-style-type: none;
        background-color: #cccccc;
        width: 26px;
        height: 26px; 
       border-radius:13px; 
   }    #hover{ 
       background-color: red;
    }
</style>

html+js部分

<body>
<div class="control">
    <ul> 
       <li id="hover">1</li> 
       <li>2</li>
       <li>3</li>
       <li>4</li>
    </ul>
</div>
<div id="flash">
    <div class="scroll">
        <ul>
            <li><img src="image/img_01.jpg"></li>
            <li><img src="image/img_02.jpg"></li>
            <li><img src="image/img_03.jpg"></li>
            <li><img src="image/img_04.jpg"></li>
        </ul>
    </div>
</div>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
    var index = 0;
    var timer = null;
    $('.control ul li').hover(function () {
        if (timer != null){
            window.clearInterval(timer);
        }         
          index = $(this).index();
          $(this).attr('id','hover').siblings('li').removeAttr('id');  
          $('.scroll').animate({top:index*(-220)},300);
            },function () {
                autoPlay();
          });    
    function autoPlay() {
          timer =  window.setInterval(fn,1000);
    }    
    function fn() {
            index ++;
            if (index == 4){ index = 0;}
            $('.control ul li').eq(index).attr('id','hover').siblings('li').removeAttr('id'); 
            $('.scroll').animate({top:index*(-220)},300);
        }
    autoPlay();
</script></body>

说明

  • 本方法主要使用了JQuery的siblings(), animate(), eq(), 等dom操作的方法.JQuery是一个封装很完善的库,使用这些方法可以帮助我们省去很多JS遍历的操作.对帮助我们提升开发效率有很大作用.下面我来简单介绍一下上述几个方法:

    • siblings()方法:

    • 语法: $(obj) .siblings(selector) 获得指定元素所在集合中所有兄弟元素的集合,selector元素是可选的,如果传入,那么匹配selector元素的集合.

    • 用法:通俗的说就是让一组元素中某一个元素保持某种状态,而这个集合中其他的元素统统保持另外一种状态,本质是遍历操作.

    • animate() 方法:

    • 语法1: $(obj).animate(style,speed,easing,callback);

    • 语法2: $(obj).animate(styles,options);
      参数的说明请自行了解,这里不做过多说明.

    • 用法: 让指定的元素执行传入的css样式,以及执行动画的时间,快慢,和回调方法,执行动画的规则按照css标准执行,比如改变元素位置top,left等需要将元素的position设置为absolate.

  • eq() 方法:

    • 语法:$(obj).eq(index) 在一个元素集中找到下标为index的元素.返回这个元素对应的JQuery对象.
    • 用法:快速通过下标找到元素,在点击事件中非常好用.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,772评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,458评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,610评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,640评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,657评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,590评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,962评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,631评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,870评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,611评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,704评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,386评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,969评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,944评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,179评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,742评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,440评论 2 342

推荐阅读更多精彩内容

  • 通过jQuery,您可以选取(查询,query)HTML元素,并对它们执行“操作”(actions)。 jQuer...
    枇杷树8824阅读 649评论 0 3
  • 第一章 入门 基本功能:访问和操作 dom 元素,控制页面样式,对页面的事件处理,与ajax完美结合,有丰富的插件...
    X_Arts阅读 1,027评论 0 2
  • 请记得在进行JQuery类库的运用时,加入JQuery类库,并且要保证先写文档就绪函数 $(document).r...
    Sunshinemm阅读 2,897评论 1 40
  • 原文链接 http://blog.poetries.top/2016/10/20/review-jQuery 关注...
    程序员poetry阅读 16,634评论 18 503
  • 对自己的最大慷慨,就是把所有的努力都献给现在。 1.有一种悲哀,是陷入迷茫但却无法脱身 学妹今年升大四了。 在很多...
    Believe流光阅读 751评论 0 0