gpt4 book ai didi

javascript - Hash/achor url 需要显示隐藏的 jquery/css div

转载 作者:行者123 更新时间:2023-11-28 11:10:36 25 4
gpt4 key购买 nike

这个问题一直让我抓狂,虽然我确信答案就在眼前,因为我常常是个白痴。

我基于这段同时使用 CSS 和 jQuery 的代码制作了一个标签页。 http://www.mkyong.com/jquery/how-to-use-css-and-jquery-to-hide-and-show-tab-content/

选项卡式内容还需要通过下拉 CSS 菜单访问。你可以在这里看到它。 http://jsfiddle.net/4N63A/

这是我正在使用的代码。

$('.subSection-tabs > li > a').click(function(event){
event.preventDefault();//stop browser to take action for clicked anchor

//get displaying tab content jQuery selector
var active_tab_selector = $('.subSection-tabs > li.selected > a').attr('href');
//find actived navigation and remove 'selected' css
var actived_nav = $('.subSection-tabs > li.selected');
actived_nav.removeClass('selected');

//add 'selected' css into clicked navigation
$(this).parents('li').addClass('selected');

//hide displaying tab content
$(active_tab_selector).removeClass('selected');
$(active_tab_selector).addClass('hide');

//show target tab content
var target_tab_selector = $(this).attr('href');
$(target_tab_selector).removeClass('hide');
$(target_tab_selector).addClass('selected');
});

//checks for hash tag in URL to display correct div
var hash = $.trim( window.location.hash );
if (hash) $('.subSection-tabs > li > a[href$="'+hash+'"]').trigger('click');

//force browser URL to update with the selected hash tag
$("a[href^=#]").on("click", function(e) {
e.preventDefault();
history.pushState({}, "", this.href);
//show/hide div from drop down
var active_nav_selector = $('ul > li.navHash > a').attr('href');
$(active_nav_selector).removeClass('selected');
$(active_nav_selector).addClass('hide');
var target_nav_selector = $(this).attr('href');
$(target_nav_selector).removeClass('hide');
$(target_nav_selector).addClass('selected');
});

因此,当用户单击下 zipper 接,然后单击“选项卡 2”时,浏览器中的 url 更改为#tab2,但选项卡 2 的 div 和内容不显示。从“显示选项卡 2”选项卡更改它会按预期工作,并将适当的散列 (#tab2) 放在浏览器窗口中。我需要下拉导航的链接才能正常工作,以便用户可以使用后退按钮。您可以点击 Google 链接了解我的意思。

天哪,我希望我解释正确。基本上,下拉菜单还需要显示和隐藏正确的 div。我的脚本可以在/script.js 查看

非常感谢。我真的很感谢任何帮助,因为我快疯了。如果我能给你烤纸杯蛋糕,我会的。我做了很棒的莫吉托。你可以假装吃它们。

更新:我将显示/隐藏类函数添加到我的 Jsfiddle 函数 (e) 中,现在下拉列表显示正确的 div 但不隐藏前一个。我很近,但又很远!

最佳答案

您使用的是 history.pushState,它为您提供 #tab2但是查看提供的js,没有任何逻辑来显示div内容喜欢

$("a[href^=#]").on("click", function(e) {
e.preventDefault();
history.pushState({}, "", this.href);
// show the tab content with the same name (use id since they're the same) as href~
});

还有一个好习惯——把你的 jquery 和脚本放在正文下面(这有两个目的, 1.首先加载样式,更快地向用户呈现页面 2. 你的 jquery 脚本可以检查"file"是否确实准备好并显示

(似乎你的保管箱不喜欢运行 jquery 库) - 所以我建议你将来使用 github pages、codepen 或 jsfiddle 来用 js 演示一些东西

添加了 JSFIDDLE: http://jsfiddle.net/denistsoi/UD4Hx/

似乎工作正常,但即便如此,这并没有显示 history.pushstate 工作~

关于javascript - Hash/achor url 需要显示隐藏的 jquery/css div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22005039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com