17

我在网站的两页上有此代码,但在一页上该功能不起作用。Firebug 向我展示了“ $(...).tabs 不是函数”。我不明白为什么,谁能告诉我什么是错的?

这是有效的:http: //www.invat-online.net/variante-rezolva

这不起作用: http: //www.invat-online.net/variante-explicate-limba-romana/varianta-01

这是代码:

<div id="tabss">
    <ul>
        <li><a href="#SubiectI">Subiect I</a></li>
        <li><a href="#SubiectII">Subiect II</a></li>
        <li><a href="#SubiectIII">Subiect III</a></li>
    </ul>
    <div id="SubiectI">content here</div>
    <div id="SubiectII">content here</div>
    <div id="SubiectIII">content here</div>
</div>
$(document).ready(function() {
   $("#tabss").tabs();
});
4

8 回答 8

15

You have relative paths to javascript files:

javascript/jquery-ui-1.9.2.custom.min.js

change them to absolute paths because you're using mod_rewrite module

/javascript/jquery-ui-1.9.2.custom.min.js

In first link the server is looking to the directory

http://www.invat-online.net/javascript/my_js_file.js (which exists)

but in the second one the path will be

http://www.invat-online.net/variante-explicate-limba-romana/javascript/my_js_file.js which do not exists

于 2013-01-12T14:17:23.343 回答
7

就我而言:

我正在使用

jquery-ui-1.10.3.minimal.min.js

代替

jquery-ui-1.10.3.custom.min.js

最小版本不包括 ui.tabs.js,因此没有 ui.tabs 功能。希望这对其他人有帮助

于 2018-03-14T01:39:18.167 回答
4

The issue is that the jQuery UI js and css is not loading.

Try changing the path in you <script> tags to either the directory above ../javascript or the website root /javascript.

<script src="/javascript/head.min.js"></script>
<script src="/javascript/jquery-ui-1.9.2.custom.min.js"></script>
<link href="/stylesheets/smoothness/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" />
于 2013-01-12T14:18:16.223 回答
1

Your first demo loads:

http://www.invat-online.net/javascript/jquery-ui-1.9.2.custom.min.js

Your second demo attempts to load:

http://www.invat-online.net/variante-explicate-limba-romana/javascript/jquery-ui-1.9.2.custom.min.js

The last one results in a 404. You should correct the path of the later, perhaps instructing it to find jQuery UI in one directory above the current: ../jquery-ui-1.9.2.custom.min.js.

于 2013-01-12T14:18:24.037 回答
1

尝试这个:

@section scripts{
$(document).ready(function() {
    $("#tabss").tabs();
});
}

放入你@Scripts.Render("~/bundles/jqueryui")<body></body>layout.cshtml

于 2015-04-25T19:50:20.730 回答
0

检查您的页面,您可能已经加载了多个版本的 jQuery

于 2020-02-28T11:21:41.797 回答
0

Uncaught TypeError: $(...).tabs is not a function在管理区域的 Django 项目中并在以下设置下使用 django-tabbed-admin 时,也可能会产生该错误:

  • 姜戈 = 1.10.5
  • django-tabbed-admin=1.0.4
  • DEFAULT_JQUERY_UI_JS = 'tabbed_admin/js/jquery-ui-1.11.4.min.js'

问题是这个 Django 库的 jquery-ui-1.11.4.min.js 中的代码如下:

    /*! jQuery UI - v1.11.4 - 2015-07-27
    (...)*/
    jQuery = jQuery || django.jQuery.noConflict(false);

django-tabbed-admin 上的代码以这种方式使用它(change_form.html):

    <script type="text/javascript">
        (function($) {
            $(window).scrollTop()
            $('#tabs').tabs({
                {% if add %}
                // when adding, don't select a tab by default, we'll do it ourselves
                // by finding the first available tab.
                selected: -1
                {% endif %}
            });
        (....)
        })(django.jQuery);
    </script>
    <!-- end admin_tabs stuff -->

为了解决这个问题,这应该是传递给 IIFE 而不是上面的 (django.jQuery) 的内容:

<script type="text/javascript">
        (function($) {
            (....)
        })((typeof window.jQuery == 'undefined' && typeof window.django != 'undefined')
  ? django.jQuery
  : jQuery)
    </script>
    <!-- end admin_tabs stuff -->

我已经在项目中报告了这个问题,并创建了一个带有修复程序的PR 。等待它被批准,所以同时你可以按照我的简单修复对其进行排序。

我希望这可以帮助那里的人。

于 2019-06-08T15:48:04.207 回答
-1

我遇到了同样的问题,我意识到我的 jquery 和 bootstrap css 导入相互冲突。查看您已导入的那些并将这些导入减少到最低限度,看看哪个是冲突的。

这里有一个如何实现它的例子,我拿了那个例子并工作了,然后我适应了我的应用程序:

对于 jquery 1.9(点击查看源代码查看代码) http://jqueryui.com/tabs/

对于 jquery 1.8(查看页面末尾的示例) http://api.jqueryui.com/1.8/tabs/

希望能帮助到你!

于 2013-10-25T15:08:42.603 回答