javascript – jQuery没有在所有浏览器中调用
作者:互联网
免责声明:我是jQuery的新手.
我试图在jQuery中为div块实现fadeOut效果,然后在另外两个div块上实现fadeIn效果.
但是,这些效果仅适用于Chrome浏览器(即它们无法在Safari,FireFox,Opera中使用),这对我来说非常困惑.我已经尝试清除我的缓存以防它存储一个旧文件,但似乎没有做任何事情.
基本思路(存储在mainsite.js文件中):
$("#videoThumbnail_XYZ").click(function () {
$("#thumbnailDescription_XYZ").fadeOut(300);
$("#videoPlayer_XYZ").delay(300).fadeIn(100);
$("#videoHiddenOptions_XYZ").delay(300).fadeIn(100);
});
因此,当单击id为videoThumbnail_XYZ的div标签时,它会启动其他div标签上的fadeOut和fadeIn调用.
我按此顺序将我的javascript文件加载到页面中(因此首先加载jQuery):
<script src="http://code.jquery.com/jquery-1.4.4.js"></script>
<script async="" type="text/javascript" src="javascripts/mainsite.js"></script>
非常感谢您给予的任何指导!
解决方法:
在代码运行之前确保DOM已完全加载.
使用jQuery时执行此操作的常用方法是将代码包装成这样.
$(function() {
$("#videoThumbnail_XYZ").click(function () {
$("#thumbnailDescription_XYZ").fadeOut(300);
$("#videoPlayer_XYZ").delay(300).fadeIn(100);
$("#videoHiddenOptions_XYZ").delay(300).fadeIn(100);
});
});
这是将代码包装在.ready()处理程序中的快捷方式,它确保在代码运行之前加载DOM.
如果您没有使用某种方法来确保加载DOM,那么当您尝试选择它时,#videoThumbnail_XYZ元素可能不存在.
另一种方法是将您的javascript代码放在您的内容之后,但在结束时< / body>标签.
<!DOCTYPE html>
<html>
<head><title>your title</title></head>
<body>
<!-- your other content -->
<script src="http://code.jquery.com/jquery-1.4.4.js"></script>
<script async="" type="text/javascript" src="javascripts/mainsite.js"></script>
</body>
</html>
标签:jquery,javascript,jquery-ui,fadein,fadeout 来源: https://codeday.me/bug/20190526/1157158.html