我在我的网站上的两个页面上有这个代码,但在一个页面上该功能不起作用。 Firebug向我展示“$(...)。制表符不是函数”。我不明白为什么,谁能告诉我什么是错的?
这是有效的: http://www.invat-online.net/variante-rezolvate
这不起作用: 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();
});
答案 0 :(得分:15)
您有javascript文件的相对路径:
javascript/jquery-ui-1.9.2.custom.min.js
将它们更改为绝对路径,因为您正在使用mod_rewrite
模块
/javascript/jquery-ui-1.9.2.custom.min.js
在第一个链接中,服务器正在查找目录
http://www.invat-online.net/javascript/my_js_file.js
(存在)
但在第二个路径中
http://www.invat-online.net/variante-explicate-limba-romana/javascript/my_js_file.js
不存在
答案 1 :(得分:4)
问题是jQuery UI js和css没有加载。
尝试将<script>
标记中的路径更改为../javascript
上方的目录或网站/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" />
答案 2 :(得分:4)
就我而言:
我正在使用
jquery-ui-1.10.3.minimal.min.js
而不是
jquery-ui-1.10.3.custom.min.js
最小版本不包含ui.tabs.js,因此没有ui.tabs函数。希望这有助于其他人
答案 3 :(得分:1)
您的第一个演示加载:
http://www.invat-online.net/javascript/jquery-ui-1.9.2.custom.min.js
您的第二个演示尝试加载:
http://www.invat-online.net/variante-explicate-limba-romana/javascript/jquery-ui-1.9.2.custom.min.js
最后一个导致404.你应该更正后面的路径,或者指示它在当前的../jquery-ui-1.9.2.custom.min.js
之上的一个目录中找到jQuery UI。
答案 4 :(得分:1)
试试这个:
@section scripts{
$(document).ready(function() {
$("#tabss").tabs();
});
}
将@Scripts.Render("~/bundles/jqueryui")
放入layout.cshtml的<body></body>
答案 5 :(得分:0)
在Admin区域的Django项目中,并在以下设置下使用django-tabbed-admin时,也会产生错误Uncaught TypeError: $(...).tabs is not a function
:
问题是该Django lib的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 -->
我在项目中reported遇到了这个问题,并创建了一个PR及其修复程序。等待批准,因此与此同时,您可以按照我的简单修正对其进行排序。
我希望这可以帮助某个人。
答案 6 :(得分:0)
检查您的页面,您可能已经加载了多个版本的jQuery
答案 7 :(得分:-1)
我遇到了同样的问题,我意识到我有jquery和bootstrap css导入相互冲突。看看你导入的那些,并将这些导入减少到最小,看看哪个是冲突。
这里有一个如何实现它的例子,我拿了那个例子并且工作了,然后我适应了我的应用程序:
for jquery 1.9(点击查看源查看代码) http://jqueryui.com/tabs/
for jquery 1.8(查看页面末尾的示例) http://api.jqueryui.com/1.8/tabs/
希望它有所帮助!