在IE7中无法检测div偏移

时间:2011-12-16 11:12:15

标签: jquery css

$("#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该行,警报甚至都没有打开。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您正在请求属性的偏移。我想你想改变这个:

var tt = $(this).attr("href");         
var pos = $(tt).offset().top; 

到此:

var tt = $(this).attr("href");         
var pos = $(this).offset().top;