我有一个 jquery 函数,可以在所有浏览器中运行,但不能在兼容模式下的 ie7 和 ie 9 中运行。
问题出在这个函数中:
$('.non-attivo').live('click',function(){
clearInterval(start_slide);
n_btn = "";
for(var i=1;i<$(this).attr('id').length; i++)
n_btn += $(this).attr('id')[i] + "";
slide_pos = parseInt(n_btn, 10);
var margin_slider = slide_pos * 780;
$('#immagini').animate({ marginLeft: "-" + margin_slider + "px"}, 500 );
$('.attivo').attr('class', 'non-attivo');
$(this).attr('class', 'attivo');
start_slide = setInterval(rotate, 4000);
});
错误是:
SCRIPT87:参数无效。
jquery.min.js,第 4 行字符 23894
我该如何修复它?
很可能是你确定的方式margin_slider
导致了这个问题。它必须返回一个NaN
in parseInt
.
Try alert(margin_slider)
before .animate
看看它返回什么。
另外,这取决于您要迭代的内容。调试更多内容以查看返回的内容n_btn
以及预期是什么。如果n_btn
返回一个数字字符串或任何以数字开头的字符串应该返回 you are number.. 但似乎没有。
尝试使用.charAt(i)
反而$(this).attr('id')[i]
。你可以var thisId = this.id
然后使用 var 而不是$(this).attr('id')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)