2016-05-03 137 views
1

這是圖像滑塊。 當我將鼠標懸停在滑塊上時,一切正常,顯示播放/暫停按鈕。當我滑出滑塊顯示區域時,播放和暫停按鈕消失。 但是,當我將鼠標懸停在播放/暫停圖像本身的區域上時,播放/暫停的圖像閃爍。圖像在懸停的setInterval中閃爍

有沒有辦法停止閃爍?

當您將鼠標懸停在滑塊上時,會顯示播放和暫停圖像。單擊播放時,它會變爲暫停,反之亦然。播放和暫停關閉自動滑動開啓和關閉

代碼段:

HTML

<section> 
      <img src="img/arrow-left.png" alt="Previous" id="prev"> 
      <div id="outsideSlider"> 
       <img alt="play" src="img/play.png" id="play"> 
       <img alt="pause" src="img/pause.png" id="pause"> 

       <div id="slider"> 
        <div class="slide"> 
         <div class="sliderText"> 
          <h2>Hark! Stay alert</h2> 
          <p>Some text</p> 
         </div> 
         <img src="img/slide1.jpg" alt="Slide 1"> 
        </div> 
       </div> 
    </section> 

jQuery的

setInterval(function(){ 
    playpause(); 
},1); 

//function to switch between play button and pause button on click 

function playpause(){ 
    if($('#pause').hasClass('activeButton')) 
    { 
     $('#slider,#play,#pause').click(function(){ 
      $('#pause').removeClass('activeButton'); 
      $('#play').addClass('activeButton'); 
      $('#pause').hide(); 
      $('#play').show(); 
      autoswitch=false; 
     }); 
    } 
    //When play is clicked, activate pause button 
else if($('#play').hasClass('activeButton')) 
    { 
     $('#slider,#play,#pause').click(function(){ 
      $('#play').removeClass('activeButton'); 
      $('#pause').addClass('activeButton'); 
      $('#play').hide(); 
      $('#pause').show(); 
      autoswitch=true; 
     }); 
    } 
} 
+0

這個問題將是爲什麼你反覆調用'playpause' – Joseph

回答

1

我發現這個問題的答案。

問題不在我上面發佈的代碼中。 就是在這樣的功能:

function showhide() 
{ 
    $('.slide,#play,#pause').mouseenter(function(){ 
     tt=setInterval(function(){ 
      $('.activeButton').show(); 
     },1); 
    }).mouseleave(function(){ 
     clearInterval(tt); 
     $('.activeButton').hide(); 
    }); 
} 

我搬到了.show()函數的setInterval,瞧外!沒有閃爍