zoukankan      html  css  js  c++  java
  • Jquery实现图片自动轮播

    【原理简述】 
    这里大概说一下整个流程: 
    1,将除了第一张以外的图片全部隐藏, 
    2,获取第一张图片的alt信息显示在信息栏,并添加点击事件 
    3,为4个按钮添加点击侦听,点击相应的按钮,用fadeOut,fadeIn方法显示图片 
    4,设置setInterval,定时执行切换函数 
    【代码说明】 
    filter(":visible") :获取所有可见的元素 
    unbind():从匹配的元素中删除绑定的事件 
    siblings:取得一个包含匹配的元素集合中每一个元素的所有唯一同辈元素的元素集合 
    例:找到每个div的所有同辈元素中带有类名为selected的元素。 
    代码如下:

    <p>Hello</p><div><span>Hello Again</span></div><p>And Again</p> 

    执行 $("div").siblings(),结果 
    代码如下:

    [ <p>Hello</p>, <p>And Again</p> ] 

    【程序源码】 
    HTML部分: 
    代码如下:

    <div id="banner"> 
    <div id="banner_bg"></div> <!--标题背景--> 
    <div id="banner_info"></div> <!--标题--> 
    <ul> 
    <li>1</li> 
    <li>2</li> 
    <li>3</li> 
    <li>4</li> 
    </ul> 
    <div id="banner_list"> 
    <a href="#" target="_blank"><img src="imgs/p1.jpg" title="橡树小屋的blog" alt="橡树小屋的blog" /></a> 
    <a href="#" target="_blank"><img src="imgs/p5.jpg" title="橡树小屋的blog" alt="橡树小屋的blog" /></a> 
    <a href="#" target="_blank"><img src="imgs/p3.jpg" title="橡树小屋的blog" alt="橡树小屋的blog" /></a> 
    <a href="#" target="_blank"><img src="imgs/p4.jpg" title="橡树小屋的blog" alt="橡树小屋的blog" /></a> 
    </div> 
    </div> 

    CSS部分: 
    代码如下:

    <style type="text/css"> 
    #banner {position:relative; 478px; height:286px; border:1px solid #666; overflow:hidden;} 
    #banner_list img {border:0px;} 
    #banner_bg {position:absolute; bottom:0;background-color:#000;height:30px;filter: Alpha(Opacity=30);opacity:0.3;z-index:1000;cursor:pointer; 478px; } 
    #banner_info{position:absolute; bottom:0; left:5px;height:22px;color:#fff;z-index:1001;cursor:pointer} 
    #banner_text {position:absolute;120px;z-index:1002; right:3px; bottom:3px;} 
    #banner ul {position:absolute;list-style-type:none;filter: Alpha(Opacity=80);opacity:0.8; border:1px solid #fff;z-index:1002; 
    margin:0; padding:0; bottom:3px; right:5px;} 
    #banner ul li { padding:0px 8px;float:left;display:block;color:#FFF;border:#e5eaff 1px solid;background-color:#6f4f67;cursor:pointer} 
    #banner_list a{position:absolute;} <!-- 让四张图片都可以重叠在一起--> 
    </style> 

    JS部分: 
    代码如下:

    <script type="text/javascript" src="jquery-1.2.6.pack.js"></script> 
    <script type="text/javascript"> 
    var t = n = 0, count; 
    $(document).ready(function(){ 
    count=$("#banner_list a").length; 
    $("#banner_list a:not(:first-child)").hide(); 
    $("#banner_info").html($("#banner_list a:first-child").find("img").attr('alt')); 
    $("#banner_info").click(function(){window.open($("#banner_list a:first-child").attr('href'), "_blank")}); 
    $("#banner li").click(function() { 
    var i = $(this).text() - 1;//获取Li元素内的值,即1,2,3,4 
    n = i; 
    if (i >= count) return; 
    $("#banner_info").html($("#banner_list a").eq(i).find("img").attr('alt')); 
    $("#banner_info").unbind().click(function(){window.open($("#banner_list a").eq(i).attr('href'), "_blank")}) 
    $("#banner_list a").filter(":visible").fadeOut(500).parent().children().eq(i).fadeIn(1000); 
    $(this).css({"background":"#be2424",'color':'#000'}).siblings().css({"background":"#6f4f67",'color':'#fff'}); 
    }); 
    t = setInterval("showAuto()", 4000); 
    $("#banner").hover(function(){clearInterval(t)}, function(){t = setInterval("showAuto()", 4000);}); 
    }) 
    function showAuto() 

    n = n >=(count - 1) ? 0 : ++n; 
    $("#banner li").eq(n).trigger('click'); 

    </script> 
  • 相关阅读:
    ubuntu18+k8s单机版+kuboard+harbor安装笔记
    Apache commons StringSubstitutor 替换占位符
    Kafka消费与心跳机制
    本地机器如何访问服务器上的docker容器内的tensorboard?
    Pytorch cuDNN error: CUDNN_STATUS_NOT_SUPPORTED.解决办法
    Docker常用方法总结
    SpringBoot
    新版chrome中非https无法打开摄像头
    DDIA----笔记(不定时更新)
    Windows 无法验证此设备所需的驱动程序的数字签名。最近的硬件或软件更改安装的文件可能未正确签名或已损坏,或者可能是来自未知来源的恶意软件。 (代码 52)
  • 原文地址:https://www.cnblogs.com/xiaxianglanyu/p/3277510.html
Copyright © 2011-2022 走看看