javascript方法不在IE中编译,但在运行调试时工作正常
我制作了这个javascript方法,它是我在网上找到的一个现有脚本的基础上修改的,该脚本应该循环显示无限数量的javascript方法不在IE中编译,但在运行调试时工作正常,javascript,jquery,Javascript,Jquery,我制作了这个javascript方法,它是我在网上找到的一个现有脚本的基础上修改的,该脚本应该循环显示无限数量的'.commential'div。该脚本在chrome和firefox中运行良好,但不会在internet explorer中编译,除非您使用f12启动脚本调试有没有更好的方法来编写这个脚本?我在网上寻找了一些想法,但没有找到任何东西。我认为问题在于console.log(证明计数)语句,但我不确定是否有更好的编写方法。任何帮助都将不胜感激。谢谢 //rotate testimonia
'.commential'
div。该脚本在chrome和firefox中运行良好,但不会在internet explorer中编译,除非您使用f12启动脚本调试有没有更好的方法来编写这个脚本?我在网上寻找了一些想法,但没有找到任何东西。我认为问题在于console.log(证明计数)代码>语句,但我不确定是否有更好的编写方法。任何帮助都将不胜感激。谢谢
//rotate testimonials script
jQuery('.testimonial').hide();
var testimonialCount = $('.testimonial').length;
console.log(testimonialCount );
var currentItem = 0;
var timeout;
timeout = window.setTimeout((function(){switchDiv();}));
switchDiv = function() {
if (currentItem == testimonialCount - 1) {
jQuery('.testimonial').eq(testimonialCount - 1).hide();
currentItem = 0;
jQuery('.testimonial').eq(0).fadeIn();
timeout = window.setTimeout((function(){switchDiv();}),7000);
}
else {
jQuery('.testimonial').eq(currentItem).hide();
currentItem = currentItem + 1;
jQuery('.testimonial').eq(currentItem).fadeIn();
timeout = window.setTimeout((function(){switchDiv();}),7000);
}
}
IE开发者工具未打开时,没有控制台
对象。
因此,调用console.log()
会引发错误
为了防止出现这种情况,您可以检查if('console'在窗口中)
,并制作您自己的虚拟控制台(或者不记录任何内容)。当IE开发人员工具未打开时,没有控制台
对象。
因此,调用console.log()
会引发错误
为了防止出现这种情况,您可以检查if('console'在窗口中)
,并制作您自己的虚拟控制台(或者不记录任何内容)。一些注意事项:
将以下内容添加到脚本的最顶端:
window.console = console || { 'log' : function(){} };
这定义了window.console
,如果它不是。除了避免错误,什么都不做
接下来,去掉超时函数周围的括号:
timeout = window.setTimeout(function(){ switchDiv(); },7000);
。。。或者进一步简化:
timeout = window.setTimeout(switchDiv,7000);
我在这里很挑剔,但是:
currentItem=currentItem+1
与currentItem++相同代码>
另一个挑剔的东西是window.setTimeout
与setTimeout
一些注意事项:
将以下内容添加到脚本的最顶端:
window.console = console || { 'log' : function(){} };
这定义了window.console
,如果它不是。除了避免错误,什么都不做
接下来,去掉超时函数周围的括号:
timeout = window.setTimeout(function(){ switchDiv(); },7000);
。。。或者进一步简化:
timeout = window.setTimeout(switchDiv,7000);
我在这里很挑剔,但是:
currentItem=currentItem+1
与currentItem++相同代码>
另一件很挑剔的事window.setTimeout
与setTimeout
相同,谢谢。console.log(证明计数)代码>在脚本中并没有做任何事情,所以我把它取出来,它编译得很好。感谢您帮助我了解控制台的工作原理。谢谢。console.log(证明计数)代码>在脚本中并没有做任何事情,所以我把它取出来,它编译得很好。感谢您帮助我理解控制台的工作原理。请注意,这与“编译”无关;Javascript没有被编译。请注意,这与“编译”无关;Javascript没有编译。