$("#listPanels a").live("click",function(e){
e.preventDefault();
can_changePn = false;
var tt = $(this).attr("href");
var pos = $(tt).offset().top;
var ctop = $('#contentPanel').scrollTop();
alert(tt+" : "+pos+" : "+ctop);
$('#contentPanel').animate({
scrollTop: (ctop+pos-50)},
500,function(){
can_changePn = true;
});
return false;
});
我使用上面的代码滚动到div并且它在所有浏览器中都运行良好,但是在IE7中,似乎代码无法通过$(tt).offset().top;
,我不知道问题可能是什么,我也尝试使用position
代替offset
,结果是一样的,如果我尝试alert
该行,警报甚至都没有打开。有什么想法吗?
答案 0 :(得分:1)
您正在请求属性的偏移。我想你想改变这个:
var tt = $(this).attr("href");
var pos = $(tt).offset().top;
到此:
var tt = $(this).attr("href");
var pos = $(this).offset().top;