【发布时间】:2012-11-06 10:39:29
【问题描述】:
我想不通。我正在调用一个基于以下内容加载的函数:
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();
}
除了在 jQuery 执行之前触发的 scrollTop() 调用之外,一切正常。一旦scrollTop() 执行,页面跳转到元素#this_id 任何想法为什么?铬 22。
我也尝试过 document.body.scrollTop = 0; 、 window.scrollTo(0,0) 和
$('html').animate({scrollTop:0}, 'slow');//IE, FF
$('body').animate({scrollTop:0}, 'slow');
【问题讨论】:
-
你是在dom准备好后调用这段代码吗?即包装在这样的函数中(简写语法): $(function() { // DOM 准备好后要做的事情; });
-
它被包裹在一个
$(document).ready(function{ //script });中
标签: javascript jquery scroll operator-precedence