Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1088|回复: 0

[默认分类] JQuery实现图片轮播效果

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-7-8 14:15:39 | 显示全部楼层 |阅读模式

    【实例演示】


       



       



      1
      2
      3
      4


      
      
      
      


    用JQuery操作DOM确实很方便,并且JQuery提供了非常人性化的API应付我们的各种需求,其中选择器在此示例-“JQuery实现图片轮播效果”上体现的尤为出色。大大简化了js的代码。
    【原理简述】
    这里大概说一下整个流程:
    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部分:


      <
      body
      >
      

      <
      div
      id
      ="banner"
      >
       

      <
      div
      id
      ="banner_bg"
      ></
      div
      >
      <!--
      标题背景
      -->
      

      <
      div
      id
      ="banner_info"
      ></
      div
      >
      <!--
      标题
      -->
      

      <
      ul
      >
      

      <
      li
      class
      ="on"
      >
      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
      >
      

      </
      body
      >


    CSS部分:


      <style type="text/css">

    #banner
      {
      position
      :
      relative
      ;
       width
      :
      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
      ;
       width
      :
      478px
      ;
      }
      
    #banner_info
      {
      position
      :
      absolute
      ;
       bottom
      :
      0
      ;
       left
      :
      5px
      ;
      height
      :
      22px
      ;
      color
      :
      #fff
      ;
      z-index
      :
      1001
      ;
      cursor
      :
      pointer
      }
      
    #banner_text
      {
      position
      :
      absolute
      ;
      width
      :
      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
      :
      #6f4f67
      ;
      cursor
      :
      pointer
      }
      
    #banner ul li.on
      {
       background
      :
      #900
      }
      
    #banner_list a
      {
      position
      :
      absolute
      ;
      }
       <!-- 让四张图片都可以重叠在一起-->
    </style>


    JS部分:


      <
      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
      );
    document.getElementById(
      "
      banner
      "
      ).style.background
      =
      ""
      ;
    $(
      this
      ).toggleClass(
      "
      on
      "
      );
    $(
      this
      ).siblings().removeAttr(
      "
      class
      "
      );
    });
    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>


    附件:源码下载

    JQuery实现图片轮播效果

      BY
      橡树小屋 from
      http://www.cnblogs.com/babyzone2004/


      本文地址:
      http://www.cnblogs.com/babyzone2004/archive/2010/08/30/1812682.html


       


      万和城


       


    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-20 18:08 , Processed in 0.380377 second(s), 48 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表