编程语言
首页 > 编程语言> > javascript – jQuery没有在所有浏览器中调用

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