在div元素的中执行JavaScript
我正在尝试设置一个小的“反馈”文本框,它循环显示一系列引号,以及引号来源的名称。
我的代码如下:
... ... ... One 1 $(function () { cycleText(); cycleName(); }); function cycleText() { var text = ['One','Two','Three'], i = 1, $div = $('#testimonial_text'); setInterval(function() { $div.fadeOut(function () { $div.text(text[i++ % text.length]).fadeIn(); }); }, 1000); } function cycleName() { var text = ['1','2','3'], j = 1, $div = $('#testimonial_name'); setInterval(function() { $div.fadeOut(function () { $div.text(text[j++ % text.length]).fadeIn(); }); }, 1000); } ...
我尝试过但没有奏效的事情:
更换
同
&
更换
$(function () { cycleText(); cycleName(); });
同
window.onload=function() { cycleText(); cycleName(); }
要么
document.addEventListener("DOMContentLoaded", function() { cycleText(); cycleName(); });
我知道在head标签中包含所有JS会更为理想,但这不可能通过网站的设置方式实现。
请注意,我有一个完美的jsfiddle设置: https ://jsfiddle.net/3ke2esht/3/
但是,它在这里的实时网页上不起作用:删除链接后答案
任何人都可以告诉我为什么会出现这种情况,以及我如何能够解决这个问题?
编辑:如果我从脑海中删除以下代码,我可以使它工作:
/*********************************************** * Ultimate Fade In Slideshow v2.0- (c) Dynamic Drive DHTML code library (www.dynamicdrive.com) * Please keep this notice intact * Visit Dynamic Drive at http://www.dynamicdrive.com/ for this script and 100s more ***********************************************/ var gallery=new fadeSlideShow({ wrapperid: "slideshow", //ID of blank DIV on page to house Slideshow dimensions: [900, 350], //width/height of gallery in pixels. Should reflect dimensions of largest image imagearray: [ ["head/slideshow/1.jpg"], ["head/slideshow/2.jpg"], ["head/slideshow/3.jpg"], ["head/slideshow/4.jpg"] ], displaymode: {type:'auto', pause:6500, cycles:0, wraparound:true}, persist: false, //remember last viewed slide and recall within same session? fadeduration: 750, //transition duration (milliseconds) descreveal: "always", togglerid: "" })
这是从dynamicdrive.com稍微采取/修改的。
显然我希望两个脚本都能正常工作。 这样的事情阻止了第一个工作,但我看不到什么!
控制台中有一条错误消息:
Uncaught TypeError: $ is not a function
这意味着变量$
与jQuery库没有正确关联。 您可能正在使用另一个接管$
或调用jQuery.noConflict()
。 在您的情况下,文件fadeslideshow.js
正在调用noConflict()
,如@Phil所述。
最安全的解决方案是替换所有对jQuery
引用。
此外,您可以创建一个闭包 ,它将jQuery
的正确引用作为参数,并将您的代码放在其中:
这样您就可以正确使用$
符号作为jQuery的引用。
希望能帮助到你。