重新声明jQuery函数以在ie7上设置不同的值。还有别的办法吗?

重新声明jQuery函数以在ie7上设置不同的值。还有别的办法吗?,jquery,function,plugins,call,Jquery,Function,Plugins,Call,我有一个滚动插件,当我点击导航锚时,我用它来移动div。有两种不同的设置,我已经不想发生了,但我也有,因为我不知道如何解决这个问题: 看: 另一个有不同偏移量的减法数 var jump=function(e) { //the plugin code... scrollTop: $(target).offset().top - 315 } 然后我用这个称呼他们: $('li.sidebarLi a').bind("click", jump2); $('li.yearsLi a').bind(

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

看:

另一个有不同偏移量的减法数

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所发生的事情是,由于一些超乎想象的奇怪原因,它的最终位置完全不同。因此,我必须为ie7在html上创建一个if,并使用不同的值(对于110和315)再次调用这些函数

因此ie7用户的最终结果是2个无用的函数调用和2个有用的函数调用。我想要的是有一种不用再次调用所有这些的方法来实现这一点,也许是一种动态的方法来改变ie7的值。如果有人知道一种不用两个函数就能实现的方法,那么最好是检查侧栏或年份导航,然后将值设置为滚动

希望有人能帮我解决这个问题。 干杯。

试试:

scrollTop: $(target).offset().top - ($.browser.msie && parseInt($.browser.version)==7? 315: 110)
也就是说,这个问题不太可能仅仅是由于IE7造成的——我建议尝试治疗潜在的症状,而不是表面上抛出条件

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