我正在尝试回答另一个问题并希望添加一个正常运行的JSFiddle会给我一些回复。我在这里做小提琴:
但它给了我错误而不执行,尽管实际上在我的网站上运行。
当我运行JSHint时,它告诉我在JS的第一行中缺少分号,但实际情况并非如此。
可以访问这两个外部文件,我可以点击它们,然后它们会在浏览器中弹出。
JSFiddle页面上的控制台返回此500内部服务器错误:
GET http://jobs.jsfiddle.net/random.js?callback=Request.JSONP.request_map.request_0 500 (Internal Server Error) moo-clientcide-1.3.js?jobofferinsidebar:3146
inserters.bottom moo-clientcide-1.3.js?jobofferinsidebar:3146
Element.implement.inject moo-clientcide-1.3.js?jobofferinsidebar:3409
Request.JSONP.Class.send moo-clientcide-1.3.js?jobofferinsidebar:12590
wrapper.extend.$owner moo-clientcide-1.3.js?jobofferinsidebar:3798
Class.showJobs Sidebar.js?jobofferinsidebar:60
wrapper.extend.$owner moo-clientcide-1.3.js?jobofferinsidebar:3798
Class.initialize Sidebar.js?jobofferinsidebar:34
(anonymous function) moo-clientcide-1.3.js?jobofferinsidebar:5865
wrapper.extend.$owner moo-clientcide-1.3.js?jobofferinsidebar:3798
(anonymous function) moo-clientcide-1.3.js?jobofferinsidebar:3756
Layout.render LayoutCM.js?jobofferinsidebar:49
(anonymous function) (index):111
(anonymous function) moo-clientcide-1.3.js?jobofferinsidebar:4624
(anonymous function) moo-clientcide-1.3.js?jobofferinsidebar:212
Array.implement.each moo-clientcide-1.3.js?jobofferinsidebar:329
invoke.fireEvent moo-clientcide-1.3.js?jobofferinsidebar:4622
domready
在我看来就像一个jsfiddle问题。这是js代码,但我很确定它没关系。
var i = 0;
var image_slide = new Array('image-1','image-2','image-3');
var NumOfImages = image_slide.length;
var wait = 8000;
function SwapImage(x,y) {
$(image_slide[x]).appear({ duration: 1 });
$(image_slide[y]).fade({duration: 1});
}
function StartSlideShow() {
play = setInterval('Play()',wait);
}
function Play() {
var imageShow, imageHide;
imageShow = i+1;
imageHide = i;
if (imageShow == NumOfImages) {
SwapImage(0,imageHide);
i = 0;
} else {
SwapImage(imageShow,imageHide);
i++;
}
}
知道为什么这不会执行?
答案 0 :(得分:2)
play = setInterval('Play()',wait);
您应该为setInterval()
play = setInterval(Play,wait);
这是固定的Demo。
答案 1 :(得分:1)
只需删除 StartSlideShow 函数中 Play()周围的引号:http://jsfiddle.net/jb8Nx/1/
function StartSlideShow() {
play = setInterval(Play(),wait);
}