如何根據窗口當前滾動位置找到最近的HTML片段標識符(hashtag href)?尋找最近的HTML片段標識符以使用jQuery滾動位置
我想要通過JS/jQuery的一個書籤功能,抓住最近的部分用戶被擊中的書籤按鈕時英寸我沒有訪問後端,所以我不能添加任何鉤子/隱藏字段,但這應該不重要,因爲我的鉤子的片段ID 是。
我想jQuery的.scroll()
處理器可以使用的,但我不知道如何找到「DOM內容在給定滾動位置」知道,如果一個新的標識已經出現。或者,如果這是最好的辦法...
想法?
如何根據窗口當前滾動位置找到最近的HTML片段標識符(hashtag href)?尋找最近的HTML片段標識符以使用jQuery滾動位置
我想要通過JS/jQuery的一個書籤功能,抓住最近的部分用戶被擊中的書籤按鈕時英寸我沒有訪問後端,所以我不能添加任何鉤子/隱藏字段,但這應該不重要,因爲我的鉤子的片段ID 是。
我想jQuery的.scroll()
處理器可以使用的,但我不知道如何找到「DOM內容在給定滾動位置」知道,如果一個新的標識已經出現。或者,如果這是最好的辦法...
想法?
類似的東西:
$('a [href]').filter(function() {
var docViewTop = $(window).scrollTop();
var docViewBottom = docViewTop + $(window).height();
var elemTop = $(this).offset().top;
var elemBottom = elemTop + $(this).height();
return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
})
.first();
基於:http://stackoverflow.com/questions/487073/check-if-element-is-visible-after-scrolling –
謝謝阿圖爾。雖然我找到了一個更好的方法來處理我的情況(我將其添加爲另一個答案),但這在技術上是對我原始問題的正確答案。 – dooleyo
我挺不理解你的問題,但使用jQuery做的事情滾動,你可以試試這個。
$(document).ready(function(){
$(window).scroll(function(){
if ($(window).scrollTop() > 100){
/*you check if identifier has appeared here*/
}
});
});
雖然不是技術上的答案,我原來的問題,這是更靈活的解決方案,我決定使用:
當用戶點擊「書籤」 jQuery將存儲帶有虛擬查詢字符串的頁面url,其中的X是當前值$('body').scrollTop()
。
當用戶想要重新訪問他的書籤時,存儲的URL將被加載,插入的jQuery將檢索pos
值並將頁面滾動到書籤位置。
這是理想的,因爲它確實把用戶的右後衛,他/她離開,下至像素。
Downvote解釋請嗎? – dooleyo