Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript/jQuery的顺序_Javascript_Jquery_Function - Fatal编程技术网

JavaScript/jQuery的顺序

JavaScript/jQuery的顺序,javascript,jquery,function,Javascript,Jquery,Function,我已经将所有JavaScript/jQuery代码堆积在一个文档中,我很好奇为什么有些东西不起作用。我相信,如果页面读取了文档,但不识别属于代码片段的元素,那么下面的所有内容都将无法工作。那是什么 jQuery().ready(function() { jQuery('.navigation .submenu > li').bind('mouseover', openSubMenu); jQuery('.navigation .submenu > li').bind('mouseo

我已经将所有JavaScript/jQuery代码堆积在一个文档中,我很好奇为什么有些东西不起作用。我相信,如果页面读取了文档,但不识别属于代码片段的元素,那么下面的所有内容都将无法工作。那是什么

jQuery().ready(function() {
jQuery('.navigation .submenu > li').bind('mouseover', openSubMenu); 
jQuery('.navigation .submenu > li').bind('mouseout', closeSubMenu);
function openSubMenu() {
    jQuery(this).find('ul').css('visibility', 'visible');
    jQuery(this).find("img").css({
    "-webkit-transform": "rotate(90deg)",
    "-moz-transform": "rotate(90deg)",
    "filter": "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"
});    
};
function closeSubMenu() {
    jQuery(this).find('ul').css('visibility', 'hidden');
    jQuery(this).find("img").css({
    "-webkit-transform": "rotate(0deg)",
    "-moz-transform": "rotate(0deg)",
    "filter": "progid:DXImageTransform.Microsoft.BasicImage(rotation=0)"
}); 
};
//About
jQuery('.expand-one').click(function(){
    jQuery('.content-one').slideToggle('fast');
});
jQuery('.expand-one').toggle(function() {
jQuery('.content-one').slideDown('slow');
jQuery(this).find("img").css({
    "-webkit-transform": "rotate(90deg)",
    "-moz-transform": "rotate(90deg)",
    "filter": "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"
});
}, function() {
jQuery('.content-one').slideUp('slow');
jQuery(this).find("img").css({
    "-webkit-transform": "rotate(0deg)",
    "-moz-transform": "rotate(0deg)",
    "filter": "progid:DXImageTransform.Microsoft.BasicImage(rotation=0)"
});
});
//Destination
jQuery('.expand-two').click(function(){
    jQuery('.content-two').slideToggle('fast');
});
jQuery('.expand-two').toggle(function() {
jQuery('.content-two').slideDown('slow');
jQuery(this).find("img").css({
    "-webkit-transform": "rotate(90deg)",
    "-moz-transform": "rotate(90deg)",
    "filter": "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"
});
}, function() {
jQuery('.content-two').slideUp('slow');
jQuery(this).find("img").css({
    "-webkit-transform": "rotate(0deg)",
    "-moz-transform": "rotate(0deg)",
    "filter": "progid:DXImageTransform.Microsoft.BasicImage(rotation=0)"
});
});
//Winners
jQuery('.expand-three').click(function(){
    jQuery('.content-three').slideToggle('fast');
});
jQuery('.expand-three').toggle(function() {
jQuery('.content-three').slideDown('slow');
jQuery(this).find("img").css({
    "-webkit-transform": "rotate(90deg)",
    "-moz-transform": "rotate(90deg)",
    "filter": "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"
});
}, function() {
jQuery('.content-three').slideUp('slow');
jQuery(this).find("img").css({
    "-webkit-transform": "rotate(0deg)",
    "-moz-transform": "rotate(0deg)",
    "filter": "progid:DXImageTransform.Microsoft.BasicImage(rotation=0)"
});
});
jQuery(".myslider").slideshow({
  width      : 643,
  height     : 303,
  control    : false,
  transition : 'swipeleft',
  delay      : 4500,
  pauseOnClick    : false,
  pauseOnHover    : true
});
jQuery(".myslider").hide();
jQuery(function() {
jQuery("ul.tabs").tabs("div.panes > div");
});
    jQuery(".myTable tr:nth-child(even)").addClass('even');
    jQuery(".myTable").tablesorter();
    jQuery(".myTable").bind("sortEnd",function() {
    jQuery(".myTable tr").removeClass('even');
    jQuery(".myTable tr:nth-child(even)").addClass('even');
});
jQuery("#iframe").fancybox({
            'width'             : '75%',
            'height'            : '75%',
            'autoScale'         : false,
            'transitionIn'      : 'elastic',
            'transitionOut'     : 'elastic',
            'type'              : 'iframe'
});

}))

如果在代码中遇到或抛出错误,它将停止执行。如果某个元素不存在,它可能会向代码的某个部分发送一个意外的
未定义的
,这可能会引发错误

正如评论中所建议的那样,使用headjs可以帮助您找到错误,但除此之外,这意味着您需要在代码中做得更好


使用try-catch语句,抛出自定义错误,并使用“if-element-exists-statements”查找未定义的元素

如果您在代码中遇到或抛出错误,它将停止执行。如果某个元素不存在,它可能会向代码的某个部分发送一个意外的
未定义的
,这可能会引发错误

正如评论中所建议的那样,使用headjs可以帮助您找到错误,但除此之外,这意味着您需要在代码中做得更好


使用try-catch语句、抛出自定义错误并使用“if-element-exists-statements”查找未定义的元素

未显式处理的javascript异常将停止该脚本元素中所有javascript的顺序执行,因此不会执行以下javascript

如果您有错误,那么您需要在调试控制台或错误控制台中查看它们,并更改代码以适当地处理它们,而不是忽略它们

例如,此代码:

document.getElementById("myHeader").style.display = "none";
如果myHeader对象不存在,则将失败并引发异常,因为它试图引用null对象上的
.style
属性。这将引发异常并停止该行代码之后的所有进一步执行。如果您正在编写代码,希望能够优雅地处理
myHeader
是否存在,那么您可以这样做:

var myHeader = document.getElementById("myHeader");
if (myHeader) {
    myHeader.style.display = "none";
}
或者,您可以捕获异常,然后继续:

try {
    document.getElementById("myHeader").style.display = "none";
} catch(e) {}
// continue on
由于您还使用jQuery为您的帖子添加了标签,因此jQuery在这里非常有用,因为它可以为您进行检查。例如,无论myHeader是否存在,此jQuery代码(与上述普通javascript的功能相同)都不会导致任何错误

$("#myHeader").hide();

这是因为jQuery已经为您检查myHeader是否存在,如果myHeader不存在,则不会调用任何方法。

未显式处理的javascript异常将停止该脚本元素中所有javascript的顺序执行,因此不会执行以下javascript

如果您有错误,那么您需要在调试控制台或错误控制台中查看它们,并更改代码以适当地处理它们,而不是忽略它们

例如,此代码:

document.getElementById("myHeader").style.display = "none";
如果myHeader对象不存在,则将失败并引发异常,因为它试图引用null对象上的
.style
属性。这将引发异常并停止该行代码之后的所有进一步执行。如果您正在编写代码,希望能够优雅地处理
myHeader
是否存在,那么您可以这样做:

var myHeader = document.getElementById("myHeader");
if (myHeader) {
    myHeader.style.display = "none";
}
或者,您可以捕获异常,然后继续:

try {
    document.getElementById("myHeader").style.display = "none";
} catch(e) {}
// continue on
由于您还使用jQuery为您的帖子添加了标签,因此jQuery在这里非常有用,因为它可以为您进行检查。例如,无论myHeader是否存在,此jQuery代码(与上述普通javascript的功能相同)都不会导致任何错误

$("#myHeader").hide();

这是因为jQuery已经为您检查myHeader是否存在,如果myHeader不存在,则不会调用任何方法。

请确保将所有javascript放在DOM的底部。确保只在
$(document.ready
上启动javascript,并进行正确的错误捕获。代码中的一个破译可以破译所有代码。即使在看似不相关的javascript中。

确保将所有javascript放在DOM的底部。确保只在
$(document.ready
上启动javascript,并进行正确的错误捕获。代码中的一个破译可以破译所有代码。即使在看似无关的javascript中。

在调用jquery之前,也要确保定义了它。事情执行的顺序很重要。此外,如果您引入了语法错误,则可能会阻止加载整个脚本。您可能希望检查Never!这应该是你的错。我也喜欢戴头盔。如果您有多个脚本文件,其中一些文件依赖于其他文件,那么这不仅可以提高性能,还可以使您的组织工作保持理智。您收到的错误消息是什么?是否在元素呈现到页面之前引用了该元素?请确保在调用它之前定义了jquery。事情执行的顺序很重要。此外,如果您引入了语法错误,则可能会阻止加载整个脚本。您可能希望检查Never!这应该是你的错。我也喜欢戴头盔。如果您有多个脚本文件,其中一些文件依赖于其他文件,那么这不仅可以提高性能,还可以使您的组织工作保持理智。您收到的错误消息是什么?在元素呈现到页面之前,您是否引用了它?太棒了,我是在jQuery中完成的,感谢您提供了经过深思熟虑的答案。现在,我将把jQuery代码放在函数中,还是放在包含它所应用的元素的代码段之上或之下?谢谢@AaronBrewer-这不是你放在问题之上或之下的东西。这就是您编写实际代码的方式。为了获得进一步的帮助,您必须向我们展示您的特定代码。@AaronBrewer-以及您的哪一行代码导致了问题,并且需要保护它不受元素的影响