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> 
  • 相关阅读:
    数组以字符串记录(字符串转数组)
    linux下OpenSSL的RSA密钥生成
    php rsa加密解密实例 及签名验证-自己实践
    php rsa加密解密实例
    PHP的openssl加密扩展使用小结
    支付宝开放平台 配置RSA(SHA1)密钥 OpenSSL配置公钥私钥对
    HTTP缓存控制
    java去任意范围的随机数
    (转)Eclipse4.2 Tomcat启动报错 A child container failed during start
    模态框事件介绍
  • 原文地址:https://www.cnblogs.com/xiaxianglanyu/p/3277510.html
Copyright © 2011-2022 走看看