Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.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加载的.js文件_Javascript_Jquery - Fatal编程技术网

Javascript 包含阻止jQuery加载的.js文件

Javascript 包含阻止jQuery加载的.js文件,javascript,jquery,Javascript,Jquery,我是jquery/web设计新手,下载一个模板来尝试熟悉自己。我遇到了一个问题,某个脚本阻止了我的jQuery加载。我的网站标题中有以下内容: <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script> <script type="text/javascript" src="https://ajax.go

我是jquery/web设计新手,下载一个模板来尝试熟悉自己。我遇到了一个问题,某个脚本阻止了我的jQuery加载。我的网站标题中有以下内容:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.14.0/jquery.validate.min.js"></script>
<script type="text/javascript" src="layout/scripts/jquery-mobilemenu.min.js"></script>
<script type="text/javascript" src="layout/scripts/responsiveslides.js-v1.53/responsiveslides.min.js"></script>
<script src="layout/scripts/custom.js"></script>
罪魁祸首档案是,;每次我禁用这一行jQuery都可以正常工作。我真的不确定在文件中标识什么会导致jQuery无法加载。js的内容:

jQuery.noConflict()(function ($) {
    // Create the dropdown base
    $("<form id='mobilemenu'><select /></form>").appendTo("#topnav");
    // Create default option "Go to..." 
    $("<option />", {
        "selected": "selected",
        "value": "",
        "text": "Click For Menu"
    }).appendTo("#topnav select");
    //Populate dropdown with menu items
    $("#topnav a").each(function () {
        var el = $(this);
        var prefix = '';
        switch (el.parents().length) {
            case (6):
                prefix = '';
                break;
            case (8):
                prefix = '- - - ';
                break;
            case (10):
                prefix = '- - - - - ';
                break;
            case (12):
                prefix = '- - - - - - - ';
                break;
            default:
                prefix = '';
                break;
        }
        $("<option />", {
            "value": el.attr("href"),
            "text": prefix + el.text()
        }).appendTo("#topnav select");
        $("#topnav select").change(function () {
            window.location = $(this).find("option:selected").val();
        });
    });
});

有人能帮我指出正确的方向来更正这个文件吗?我尝试移动脚本加载的顺序,但顺序无关紧要,当包含MobileMeu脚本时,不会加载jQuery。

在您提到的导致问题的脚本中,您会看到对noConflict的调用。此方法允许jQuery与其他库一起使用,这些库也依赖于$作为入口点,方法是删除$作为jQuery的别名

noConflict调用之后,您会立即看到传递给jQuery的非常特定的函数签名:

(function ($) {
  //function code here
});
jQuery将调用此函数,当它调用时,它将作为$parameter传入,并且在该函数的范围内,您现在可以再次使用$

因此,按照脚本的方式,您需要按名称使用jQuery

有关更多详细信息,请查看on noConflict


关于noConflict还有其他几个问题,可能会特别有帮助。

考虑到它重置了window的值,可能是第一行。$谢谢,这将引导我走向正确的方向。使用jQuery而不是$worked。