2017-04-21 120 views
0

只要用戶的滾動位置「擊中」特殊 - 其他 - 元素,我想要爲該元素添加一個類。如果y位置大於另一個元素,則將類添加到元素

我嘗試使用代碼因此

var hands = $(".sw_3--breit"); 
    $(window).scroll(function() { 
    var scroll = $(window).scrollTop(); 
// The next line is the one I am asking for help 
     if (scroll >= window.innerHeight) 
     { 
      hands.addClass("fixed"); 
     } else { 
      hands.removeClass("fixed"); 
     } 
}); 

其中加入後級滾動越大,則用戶顯示高度我想工作良好。但是,當用戶「擊中」另一個元素時,我想添加 - 然後刪除 - 一個類。

我問什麼是什麼 - 非常粗略的和愚蠢的我知道 - 這樣的:

var other_elements_position = $(".other_element"().position; 
if (scroll >= other_elements_position) 

我怎樣才能做到這一點?我已經使用jQuery來做其他事情了,所以使用jquery會讓我覺得有意義。

謝謝!

+0

'$(「.. SW_3 - 半夏」)的位置;'我的選擇和方法的懷疑。應用於它?你對'.position'有什麼期望? – Jai

+0

當然是錯的。我只想演示一下我想要的結果作爲輸出:$(「。other_element」)。y_position_of_that_object; – Daiaiai

回答

0

對於有像我這樣有同樣的問題的人,這個工作對我來說:

var hands = $(".sw_3--breit"); 
var hands_original = $(".sw_8").position(); 
var hands_off = $("#target_agentur").position(); 
var hands_corrected = (hands_original.top + 680) // here I add a small delay to the trigger of the "animation" 
$(window).scroll(function() { 
    var scroll = $(window).scrollTop(); 
    if (scroll >= hands_corrected && scroll <= hands_off.top) // I doublecheck against 2 heights 
{ 
     hands.addClass("fixed"); 
    } else { 
     hands.removeClass("fixed"); 
    } 
}); 
相關問題