1

好吧,我有一个滚动插件,当我单击导航锚点时,我用它来移动 div。有两种不同的设置,我已经不想发生了,但我也有,因为我不知道解决这个问题的方法:

看:

var jump=function(e)
{
//the plugin code...
  scrollTop: $(target).offset().top - 110
}

和另一个具有不同偏移减数的

var jump=function(e)
{
//the plugin code...
  scrollTop: $(target).offset().top - 315
}

比我用这个来称呼他们:

$('li.sidebarLi a').bind("click", jump2);
$('li.yearsLi a').bind("click", jump);
return false;

ie7 发生的事情是,由于某种超乎想象的可怕原因,最终的位置完全不同。所以我必须在 html 上为 ie7 创建一个 if 并使用不同的值(对于 110 和 315)再次调用这些函数。

所以ie7用户的最终结果是2个无用的函数调用和2个有用的函数调用。我想要的是有一种方法可以做到这一点而无需再次调用所有这些,如果 ie7 可能是一种动态更改该值的方法。如果有人知道没有两个功能的方法,更好的是,它必须检查它的侧边栏或年份导航,而不是将值设置为滚动。

希望有人可以帮助我解决这个问题。干杯。

4

1 回答 1

0

尝试:

scrollTop: $(target).offset().top - ($.browser.msie && parseInt($.browser.version)==7? 315: 110)

也就是说,这个问题不太可能是由 IE7 引起的——我建议尝试治疗潜在的症状,而不是表面上抛出关于

于 2010-01-21T01:45:30.407 回答