IE7不兼容怎么解决?
varbefore_element=newArray();$("#itemMenuli").each(function(index){$(this).click(func...
var before_element=new Array();
$("#itemMenu li").each(function(index){
$(this).click(function(){
if(before_element.indexOf(index)>=0){
$("#itemMenu li").eq(index).removeClass("itemCur");
before_element.splice(before_element.indexOf(index),before_element.indexOf(index)+1);
}
else
{
$("#itemMenu li").eq(index).addClass("itemCur");
before_element.push(index);
}
});
});
IE8以下都不兼容 展开
$("#itemMenu li").each(function(index){
$(this).click(function(){
if(before_element.indexOf(index)>=0){
$("#itemMenu li").eq(index).removeClass("itemCur");
before_element.splice(before_element.indexOf(index),before_element.indexOf(index)+1);
}
else
{
$("#itemMenu li").eq(index).addClass("itemCur");
before_element.push(index);
}
});
});
IE8以下都不兼容 展开
3个回答
展开全部
原生的javascript中,数组没有indexOf,需要自己写方法实现
追问
IE8以上的浏览器都没有问题,为什么IE7就不行了呢?
追答
浏览器不识别啊,js是在浏览器里面执行的,indexOf这个方法是有兼容性问题,最好不用这个方法,用自己写的方法。类似这种情况的还有很多,需要注意一下的
这是我自己写的方法
function indexOf(arr, item) {
return Array.prototype.indexOf ? Array.prototype.indexOf.call(arr, item) : function (arr, item) {
for (var i = 0, len = arr.length; i < len; i++) {
if (arr[i] === item) {
return i;
}
}
return -1;
}.call(arr, arr, item)
}
你可以把它写到Array.prototype里面或者就这样定义函数
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
IE6.0与IE7.0不兼容,也无非就是注意高的设置是否精确,页面切图是否正确(精确),让他好好看看他的代码。。。
满意请采纳。
满意请采纳。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询