非常简单的问题:我错过了什么吗?似乎这应该是基本设置所需的全部......目前我正在获得一个非风格化的版本(即没有标签,只是纯文本/ html)。所以它们看起来不像标签,当你点击它们时,没有任何隐藏/显示,就像标签一样。我是否必须手动连接javascript以显示和隐藏选项卡的内容,或者框架是否为我执行此操作?
更新
所以我测试了代码并且 这适用于基本选项卡。 但是,我需要在里面使用它 .Net模式弹出窗口使用他们的“Ajax” 工具包。基本上这是做一个 我注意到的回发倾向于 与jQuery战斗。在过去,我 使用了jQuery live事件,但是 我不确定将它绑定到... 通常你绑定到一个事件 对象,就像一个单击处理程序 按钮。在这里,我需要附上 制表符分配/绑定(使用.tabs() )通过直播活动,但我不确定 哪一个。我试着绑定到 文件加载事件,但没有运气 的是:
$(document).live('load', bind_tabs);
有什么想法吗?
页面上包含样式表和Javascript链接:
https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/themes/base/jquery-ui.css
https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js
https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.min.js
在我的样式表中添加了以下行:
.ui-tabs .ui-tabs-hide { display: none; }
在页面中添加了以下脚本:
<script type="text/javascript">
$(function () {
$("#tabs2").tabs();
$("#tabs").tabs();
});
</script>
HTML:
<div id="tabs">
<ul>
<li><a href="#tabs-1">Nunc tincidunt</a></li>
<li><a href="#tabs-2">Proin dolor</a></li>
<li><a href="#tabs-3">Aenean lacinia</a></li>
</ul>
<div id="tabs-1">
<p>Tab 1 content</p>
</div>
<div id="tabs-2">
<p>Tab 2 content</p>
</div>
<div id="tabs-3">
<p>Tab 3 content</p>
</div>
</div>
还注意到页面上的“主题”文档(http://jqueryui.com/demos/tabs/#theming),它说明了以下内容。我应该手动输入所有这些样式(如ui-widget)还是依靠框架来完成它?
使用jQuery UI CSS进行示例标记 框架类
<div class="ui-tabs ui-widget ui-widget-content ui-corner-all" id="tabs">
<ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all">
<li class="ui-state-default ui-corner-top ui-tabs-selected ui-state-active"><a href="#tabs-1">Nunc tincidunt</a></li>
<li class="ui-state-default ui-corner-top"><a href="#tabs-2">Proin dolor</a></li>
<div class="ui-tabs-panel ui-widget-content ui-corner-bottom" id="tabs-1">
<p>Tab one content goes here.</p>
</div>
...
</div>
注意:这是标记的示例 由tabs插件生成,而不是 你应该使用标记创建一个 标签。唯一需要的标记 是
<div id="tabs">
<ul>
<li><a href="#tabs-1">Nunc tincidunt</a></li>
<li><a href="#tabs-2">Proin dolor</a></li>
<li><a href="#tabs-3">Aenean lacinia</a></li>
</ul>
<div id="tabs-1">
<p>Tab 1 content</p>
</div>
<div id="tabs-2">
<p>Tab 2 content</p>
</div>
<div id="tabs-3">
<p>Tab 3 content</p>
</div>
</div>
答案 0 :(得分:5)
一切看起来都不错。您确定要正确链接文件吗?
答案 1 :(得分:1)
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js" type="text/javascript"></script>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
尝试在两个.js文件之后链接到.css文件。我在jQuery UI datepicker上遇到了类似的问题,一旦我按照上面的方式对列表进行了重新排序,它运行正常。
答案 2 :(得分:1)
这可能对使用.tabs()[你的代码对我来说没问题]有帮助,但它可能会帮助你找到问题所在。尝试一次输入或输出一个:
使用适当的调试器(firebug,IE Developer Tools,Chrome Developer工具等),在$(“#tabs”)上添加一个断点.tab();线。如果你点击断点,你知道jquery框架已经正确加载,你可以排除它。
要验证JqueryUI框架是否正确加载,请将一些其他jqueryUI特定功能应用于元素 - 例如使用$('#element')。button()方法将元素转换为按钮。如果可行,您就知道正确加载了jQueryUI框架。
要验证.css文件是否已正确加载,请向页面添加一个额外的html元素,并向其中添加一个jquery UI类(例如,ui-state-highlight) - 如果样式更改,则.css文件已正确加载。
然后,评估jquery对象的length属性,以查看选择器是否成功找到了您要查找的元素,或者为$(“#tabs”)添加“watch”表达式并查看它找到的内容。
答案 3 :(得分:1)
你可以找到一个在回发完成后发生的适当事件 - 我对MSAjax库不太熟悉,知道它会是什么,但是他们会有一个似乎是合理的。在那种情况下,您可以执行.tabs()代码。
答案 4 :(得分:0)
尝试将脚本文件放在css文件之后,然后尝试下面的代码
$(document).ready(function () {
$("#tabs").tabs();
});
注意我删除了这一行,因为我在你的代码中没有看到任何带有此id的内容:
$("#tabs2").tabs();