zoukankan      html  css  js  c++  java
  • jQuery淡入淡出效果轮播图

    用JavaScript做了平滑切换的焦点轮播图之后,用jQuery写了个简单的淡入淡出的轮播图,代码没有做优化,html结构稍微有一些调整,图片部分用ul替换了之前用的div。

    html结构如下:

    <div id="container">
            <ul class="pic">
                <li><a href="javascript:;"><img src="DSC01627.jpg" alt="pic1"></a></li>
                <li><a href="javascript:;"><img src="DSC01628.jpg" alt="pic2"></a></li>
                <li><a href="javascript:;"><img src="DSC02637.jpg" alt="pic3"></a></li>
            </ul>
            <ul id="position">
                <li class="cur"></li>
                <li class=""></li>
                <li class=""></li>
            </ul>
            <a href="javascript:;" id="prev" class="arrow">&lt;</a>
            <a href="javascript:;" id="next" class="arrow">&gt;</a>
    
        </div>

    css设置:

    *{ 
                 margin: 0;
                 padding: 0; 
                 text-decoration: none;
             }
            ul{
                list-style: none;
            }
            #container{
                position: relative;
                width: 400px;
                height: 200px;
                margin: 20px auto;
            }
            
            .pic li {
                position: absolute;
                top: 0;
                left: 0;
                display: none;
            }
            .pic li img {
                width: 400px;
                height: 200px;
            }
            #position{
                position: absolute;
                bottom: 0;
                right:0;
                margin: 0;
                background: #000;
                opacity: 0.4;
                width: 400px;
                text-align: center;
            }
            #position li{
                width: 10px;
                height: 10px;
                margin:0 2px;
                display: inline-block;
                -webkit-border-radius: 5px;
                border-radius: 5px;
                background-color: #afafaf;
            }
            #position .cur{
                background-color: #ff0000;
            }
    
             .arrow { 
                 cursor: pointer;
                  display: none; 
                  line-height: 39px; 
                  text-align: center; 
                  font-size: 36px; 
                  font-weight: bold; 
                  width: 40px; 
                  height: 40px;  
                  position: absolute; 
                  z-index: 2; 
                  top: 50%;
                  margin-top: -20px; /*width的一半*/
                  background-color: RGBA(0,0,0,.3); 
                  color: #fff;
              }
            .arrow:hover { 
                background-color: RGBA(0,0,0,.7);
            }
            #container:hover .arrow { 
                display: block;
            }
            #prev { 
                left: 20px;
            }
            #next { 
                right: 20px;
            }
    View Code

    JavaScript代码:

    $(function(){
                //第一张显示
                $(".pic li").eq(0).show();
                //鼠标滑过手动切换,淡入淡出
                $("#position li").mouseover(function() {
                    $(this).addClass('cur').siblings().removeClass("cur");
                    var index = $(this).index();
                    i = index;//不加这句有个bug,鼠标移出小圆点后,自动轮播不是小圆点的后一个
                    // $(".pic li").eq(index).show().siblings().hide();
                    $(".pic li").eq(index).fadeIn(500).siblings().fadeOut(500);
                });
                //自动轮播
                var i=0;
                var timer=setInterval(play,2000);
                //向右切换
                var play=function(){
                    i++;
                    i = i > 2 ? 0 : i ;
                    $("#position li").eq(i).addClass('cur').siblings().removeClass("cur");
                    $(".pic li").eq(i).fadeIn(500).siblings().fadeOut(500);
                }
                //向左切换
                var playLeft=function(){
                    i--;
                    i = i < 0 ? 2 : i ;
                    $("#position li").eq(i).addClass('cur').siblings().removeClass("cur");
                    $(".pic li").eq(i).fadeIn(500).siblings().fadeOut(500);
                }
                //鼠标移入移出效果
                $("#container").hover(function() {
                    clearInterval(timer);
                }, function() {
                    timer=setInterval(play,2000);
                });
                //左右点击切换
                $("#prev").click(function(){
                    playLeft();
                })
                $("#next").click(function(){
                    play();
                })
            })
    View Code
  • 相关阅读:
    装饰器模式
    原型模式
    观察者模式
    Apollo 代码的编译演示
    Apollo 框架的剖析1
    gPRC学习笔记
    Docker入门
    ROS入门学习
    Mudo C++网络库第十一章学习笔记
    Mudo C++网络库第十章学习笔记
  • 原文地址:https://www.cnblogs.com/czzaiba/p/5732161.html
Copyright © 2011-2022 走看看