簡體   English   中英

在jQuery執行之前將scrollTop觸發

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM