2014-01-10 48 views
0

我有一個循環函數,可以在第三個幻燈片上放置2個div。工作示例可以在這裏找到:http://jsbin.com/OYebomEB/4/當Div被另一個div重疊時,禁用onclick/mousedown

主要功能:

var elements = ['#pointsbarDiv', '#hotlink1Div', '#pointsbarDiv', '#hotlink2Div']; 
    function hotlinks_loop(index) { 
     $(elements[index]).css({top: -75, display: 'block'}).animate({top: '+0'}, 3000, function() { 
      var $self = $(this); 
      var currentInstance = this; 
      setTimeout(function() { 
       $self.animate({top: $(window).height()}, 3000); 
       if(currentInstance.hotlinkStop !== true){ 
        hotlinks_loop((index + 1) % elements.length); 
       } 
      }, 3000, currentInstance); 
     }); 
    } 
     hotlinks_loop(0); // start with the first element 

我有一些代碼,以禁用的onclick而熱鏈接的div正在:

hotlink2BtnClick: function() { 
    if ($("#hotlink2Div").css("top") === "0px") { 
     //do stuff; 
    } else { 
     //do stuff; 
    } 
}, 

但是,對於固定pointsbarDiv我不能找到解決的onclick禁用/鼠標按下而熱鏈接divs滑過它。

我曾嘗試過各種「如果這就像下面的例子:

if (($("#hotlink1Div").css("top") < "76px" && $("#hotlink1Div").css("bottom") < "150px") || ($("#hotlink1Div").css("top") > "-75px" &&  $("#hotlink1Div").css("bottom") < "75px")))... 

我也想知道是否有辦法,我可以只禁用的onclick /鼠標按下時的div中提供的主要功能內移動。

我應該提到,我是一個javascript/jquery的新手。

回答

0

我設法做到這一點,創建一個額外的div給它一個-1的Z-索引和設置隱藏的可見性。

然後用循環的數組替換點div。

接着執行類似的代碼解決方案hotlink2BtnClick()。

1

JQuery的事件函數獲得通過一個事件對象 - 你可以在你的函數接受這一點,並用它來停止傳播:

hotlink2BtnClick: function (ev) { 
    ev.stopPropagation(); 

http://api.jquery.com/event.stoppropagation/

而且,如果你把你的js實例上http://jsfiddle.net ,那麼我們可以將它分叉並返回給你。

+0

示例現在可以在jsfiddle中找到.http://jsfiddle.net/Raggy/RFz4E/ – Raggy

+0

也感謝您的閱讀和示例。 – Raggy

+0

那麼這是否解決了這個問題? –

相關問題