[英]scrollTop fires before jquery executes
我不知道這個。 我正在調用基於以下條件加載的函數:
var option = self.document.location.hash.substring(1);
if(option != ''){
subshow(option);
}
function subshow(this_id){
if($('#'+this_id).hasClass('selected') == false){
$('.page').wrap('<div class="click_off" onclick="javascript:deselect_block(event);" />');
$('#'+this_id).children().show();
$('#'+this_id).addClass('top');
$('#'+this_id).addClass('selected');
$(window).scrollTop();
}
一切工作正常,除了scrollTop()
調用會在jQuery執行之前觸發。 一旦scrollTop()
執行#this_id
,頁面就會跳轉到元素#this_id
。有什么想法嗎? 鍍鉻22。
我也嘗試了document.body.scrollTop = 0;
, window.scrollTo(0,0)
和
$('html').animate({scrollTop:0}, 'slow');//IE, FF
$('body').animate({scrollTop:0}, 'slow');
如果未將其包裝在$(document).ready()或類似文件中,則該函數將在加載DOM之前觸發,因此將跳過所有與DOM相關的腳本,並跳過$(window).scrollTop()事件會開火。
如果您要打包全部文件並等待DOM加載,它將為您提供所需的功能
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.