javascript - 代码未在 JSFiddle 中运行但在站点上运行

标签 javascript jsfiddle

我正在尝试获得另一个问题的答案,并希望添加一个正常运行的 JSFiddle 能给我一些答复。我正在这里拉 fiddle :

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++;
    }
}

知道为什么这不会被执行吗?

最佳答案

play = setInterval('Play()',wait);

您应该为 setInterval() 中的第一个参数传递一个函数

play = setInterval(Play,wait);

这是固定的 Demo .

关于javascript - 代码未在 JSFiddle 中运行但在站点上运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22764188/

相关文章:

javascript - 为什么我需要使用函数作为参数而不能只使用它返回的值

javascript - 如何在没有内置函数的情况下反转字符串 javascript ..?

javascript - 如何使用正则表达式来测试具有特殊字符的文件名

javascript - Firefox 中的 Soundcloud 嵌入问题

php - 是否有一起工作的 phpFiddle 和 sqlFiddle?

javascript - JSFiddle 中的 jQuery Easy UI

javascript - jsFiddle 中的空白 element.style.width 属性

javascript - Youtube 和 Google map iframe 在 Chrome 和 Opera 中不可见

javascript - 检测 Javascript 中固定的 Chrome 扩展

javascript - jQuery 不响应 : JSFiddle?