2014-02-21 46 views
1
function tick(){ 
    $('.ticker').each(function(){ 
     $(this).find('li:first').slideUp(function() { 
      $ticker = $(this).closest('.ticker'); 
      $(this).appendTo($ticker).slideDown(); 
     }); 
    }); 
} 
setInterval(tick, 5000); 

我縮進在我的頁面shown on JSfiddle here上使用此多行程概念。喜歡它很多,但缺少一些東西。暫停懸停。將懸停支持添加到多行程概念

所以,我要在這裏掛上了「暫停懸停」功能for each股票的方式如下:

  • 徘徊股票將停止滑動起來,而其他人將繼續往上滑動(等/副verssa )。

可能嗎?我對jquery非常不滿,所以我需要幫助。

Thx!

回答

1

jsFiddle Demo

您可以通過.ticker設置一個類名來表示暫停時.ticker要素之一懸停在

$('.ticker').hover(function(){ 
$(this).addClass('pause');//mouse enter 
},function(){ 
$(this).removeClass('pause');//mouse leave 
}); 

然後篩選,在做到這一點你滴答函數的.each迭代(返回true被jQuery用作僞代碼continue

if($(this).hasClass('pause'))return true;//continue; 
+0

THX很多特拉維斯! – Joem

1

請參閱解決方案。

http://jsfiddle.net/gpr9t/8/

var hoveredElement=null; 

function tick(){ 
    $('.ticker').filter(function(item){ 
       return !$(this).is(hoveredElement) 
      }).each(function(){ 
     $(this).find('li:first').slideUp(function() {      
      $ticker = $(this).closest('.ticker'); 

      $(this).appendTo($ticker).slideDown(); 
     }); 
    }); 
} 
setInterval(tick, 1000); 


$(function(){ 
    $('.ticker').hover(function(){ 
hoveredElement=$(this);   
    },function(){ 
     hoveredElement=null; 
    }); 
});