0 javascript jquery internet-explorer-8
我的网站适用于IE8以外的所有浏览器.第四行代码上的以下代码错误position().left为null或不是对象.有没有人看到修复过这种类型的IE8 jQuery错误?
$(".navref").click(function(){
var m = Math.floor(($(window).width()-997)/2);
m = m < 0 ? 0 : m; //if screen is smaller than 997, force align to left
var l = $("#"+$(this).attr('rel')).position().left;
var lt = 200;
if($(this).attr('rel') == 'page1') lt = 400;
l = l+(lt-m);
l = l < 0 ? 0 : l;
//,onAfter:function(){checkScreens()}
$('html, body').stop(true,false).scrollTo(l,2000,{easing:'easeInOutCubic'});
return false;
});
Run Code Online (Sandbox Code Playgroud)
该网站是http://sputtens.com.
这告诉您$("#"+$(this).attr('rel'))不匹配任何元素,因此position()返回null.如果你发现原因,那就应该解决它.
只需将代码更改为:
var id = $(this).attr('rel');
var element = $("#"+id);
var l = element.position().left;
Run Code Online (Sandbox Code Playgroud)
...并使用F12调试工具查看id它,查看并将其与DOM中的内容进行比较,查看具有该ID的元素的查询结果等.