jquery 选项卡,根据 URL 可见
我使用基于 http://www.jquery 和选项卡。 sohtanaka.com/web-design/simple-tabs-w-css-jquery/
<script type="text/javascript">
$(function() {
$(".tab_content").hide(); //Hide all content
$("ul.tabs li:first").addClass("active").show(); //Activate first tab
$(".tab_content:first").show(); //Show first tab content
//On Click Event
$("ul#menu li").click(function() {
$("ul#menu li").removeClass("active"); //Remove any "active" class
$(this).addClass("active"); //Add "active" class to selected tab
$(".tab_content").hide(); //Hide all tab content
var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content
$(activeTab).fadeIn(); //Fade in the active content
return false;
});
});
</script>
是否可以对此进行调整,以便根据 URL 中的值(page.html#tab4 等),相应的选项卡将展示?
我相信在当前状态下它不起作用,因为它返回 false,并且
var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content
正在寻找锚点值,而不是 URL。
希望这是有道理的。
我(认为)如果可以修复,我需要一种从 URL 以及基于单击的锚点获取 #tab 的方法。
谢谢
Am using jquery and tabs based on http://www.sohtanaka.com/web-design/simple-tabs-w-css-jquery/
<script type="text/javascript">
$(function() {
$(".tab_content").hide(); //Hide all content
$("ul.tabs li:first").addClass("active").show(); //Activate first tab
$(".tab_content:first").show(); //Show first tab content
//On Click Event
$("ul#menu li").click(function() {
$("ul#menu li").removeClass("active"); //Remove any "active" class
$(this).addClass("active"); //Add "active" class to selected tab
$(".tab_content").hide(); //Hide all tab content
var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content
$(activeTab).fadeIn(); //Fade in the active content
return false;
});
});
</script>
Is it possible to adjust this so that depending on the value in the URL (page.html#tab4 etc), the corrosponding tab will show?
I believe in its current state it doesn't work because it returns false, and that
var activeTab = $(this).find("a").attr("href"); //Find the rel attribute value to identify the active tab + content
is looking for an anchor value, rather than the URL.
Hope this makes sense.
I (think) if a fix is possible, I need a way to get the #tab from the URL as well as based on the Anchor clicked.
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以使用
window.location.hash
检索 URL 的#something
部分。请参阅:https://developer.mozilla.org/en/window.location另外,您发布的代码...可能是在 jQuery 中不要做的事情的一个很好的列表。让我们为您修复它:
You can use
window.location.hash
to retrieve the#something
part of the URL. See: https://developer.mozilla.org/en/window.locationAlso, that code you posted... is probably a great list of what not to do in jQuery. Let's fix it for you:
您想在页面加载时显示选项卡吗?
另外,在 onclick 处理程序中,您可能需要替换该行
以
获取 href 的 #tabN 部分。
Do you want to display the tab on load of the page?
Also, in your onclick handler, you probably want to replace the line
with
to get the #tabN part of the href.
是的,尝试:
yes try: