fadein fadeout 淡入淡出效果时 不自然 有闪烁 求指教

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="js/jquery-1.11.0.js" type="text/javascript" charset="utf-8"></script>
        <style type="text/css">
        *{
            margin: 0;
            padding: 0;
        }

        
        a{
            cursor: pointer;
        }
        
        
        .box{
            position: relative;
        }
        .slide{
            position: relative;
        }
        
         ul{
             list-style: none;
             height: 630px;
             overflow: hidden;
         }
         
         ul li{
             height: 630px;
                     display: block;
             position: absolute;
         }     
         ul li img{ 
             width: 100%;
             height: 620px;
             animation: move 7s linear forwards;
         }
         
         ul li:nth-last-child(-n+2){
             display: none;
         }
         
         p{
             position: absolute;
             top:315px;
             left:50%;
             font-size: 30px;
             color: white;
             transform: translate(-50%,-50%);
             animation: fade 5s linear forwards;
         };
         
         #arrow{
             width: 100%;
               position: absolute;
               top:40%;
               z-index: 99;
           }
           
           .prev,.next{
               display: block;
               width:76px;
            height:112px;
            position: absolute;
            top:50%;
            transform: translate(0,-50%);
           }
           
           .prev{
               background: url(img/prev.png) no-repeat;
           }
           
           .next{
               right:0;
            background-image: url(img/next.png); 
           }
           
           @keyframes move{
               0%{}
               100%{transform: translate(100px,100px) scale(1.2);}
           }
           
           @keyframes fade{
               0%{opacity: 0;}
               50%{opacity: 1;}
               70%{opacity: 1;}
               100%{opacity: 0;}
           }
        </style>
    </head>
    <body>
    <div class="box">
        <ul class="slide">
            <li><img src="img/Ample-Luck-Shanghai.jpg" alt=""/><p>上海</p></li>
            <li><img src="img/New-York-Bridge.jpg" alt=""/><p>纽约</p></li>
            <li><img src="img/New-York-Skyline.jpg" alt=""/><p>纽约</p></li>
        </ul>
        <div id="arrow">
            <a class="prev"></a>
            <a class="next"></a>
       </div>    
    </div>
    <script type="text/javascript">
        var time=null;
        var k =0;
        var n=0;
        time=setInterval(autoplay,5000);
        function autoplay(){
            k=k+1>2? 0:k+1;
            $(".box li").eq(k).fadeIn().siblings().fadeOut();

        } 
        $(".prev").click(function(){
          k=k-1<0? 2:k-1;    
          $(".box li").eq(k).fadeIn().siblings().fadeOut();
          n=k;
          })
        
        $(".next").click(function(){
          k=k+1>2? 0:k+1;    
          $(".box li").eq(k).fadeIn().siblings().fadeOut();
          n=k;
          })

        $(".box").mouseenter(function(){
            clearInterval(time);
        })
        
        $(".box").mouseleave(function(){
            k=n;
            time=setInterval(autoplay,5000);
        })
    </script>
    </body>
</html>
阅读 2.8k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题