Javascript 加载引导选项卡触发器
活动类不起作用,我试过body-On-load单击trigger,显然用id和许多其他方式显示tab,但似乎什么都不起作用。我已经对URL进行了哈希处理,以便在搜索中单独链接选项卡。非常感谢您的帮助 JS:散列URL并跳转到选项卡Javascript 加载引导选项卡触发器,javascript,jquery,twitter-bootstrap,tabs,bootstrap-tabs,Javascript,Jquery,Twitter Bootstrap,Tabs,Bootstrap Tabs,活动类不起作用,我试过body-On-load单击trigger,显然用id和许多其他方式显示tab,但似乎什么都不起作用。我已经对URL进行了哈希处理,以便在搜索中单独链接选项卡。非常感谢您的帮助 JS:散列URL并跳转到选项卡 // jump to tab if it exists if (location.hash) { $('a[href=' + location.hash + ']').tab('show'); } // add tab hash to url to p
// jump to tab if it exists
if (location.hash) {
$('a[href=' + location.hash + ']').tab('show');
}
// add tab hash to url to persist state
$(document.body).on("shown.bs.tab", function(e){
location.hash = e.target.hash;
});
});
JS:转到选项卡主页(不工作)
HTML:
<div class="col-xs-5 col-md-2 nopadding">
<nav class="nav-sidebar">
<ul class="nav tabs">
<li class="lead3"><a href="#home" class="active" data-toggle="tab">Home </a></li>
<li class="lead3"><a href="#tab1" data-toggle="tab">tab1</a></li>
<li class="lead3"><a href="#tab3" data-toggle="tab" >tab3</a></li>
<li class="lead3"><a href="#contact" data-toggle="tab"> Contact </a></li>
</ul>
</nav>
选项卡窗格:
<div class="tab-pane active fade text-style" id="home"> . .. </div>
。。
您对这一行的期望是什么
$("home").trigger("click");
我想Jquery在这里找不到元素$(“home”)
。您可以在控制台中对其进行评估以供检查。
如果要查找类为“home”或id为“home”的元素,则应正确使用$(“.home”)或$(“#home”)。您对此行的期望是什么
$("home").trigger("click");
我想Jquery在这里找不到元素$(“home”)
。您可以在控制台中对其进行评估以供检查。
如果要查找类为“home”或id为“home”的元素,则应正确使用$(“.home”)或$(“#home”)。看起来文档就绪事件不起作用。 请尝试删除$(“文档”)周围的引号 此事件的较短方法如下所示:
$(function() {
});
您的文档就绪事件似乎不起作用。 请尝试删除$(“文档”)周围的引号 此事件的较短方法如下所示:
$(function() {
});
我知道这已经很晚了,但我想发布我的解决方案,因为这也是我一直坚持的。我认为有一个重要的微妙之处很容易被忽略。您希望触发对
的单击,以获取有关绑定到hashchange事件的更多信息
$(window).bind('hashchange', function(event){
var hash = window.location.hash;
// get the actual anchor tag that links to the panel
var $matchingAnchor = $('nav a[href^="' + hash + '"');
if ($matchingAnchor) $matchingAnchor.click();
});
假设您希望将此限制为仅触发某个页面,则可以添加位置检查:
$(window).bind('hashchange', function(event){
var path = window.location.pathname;
var hash = window.location.hash;
var $matchingAnchor = $('nav a[href^="' + hash + '"');
var contextRegex = /my\/page/;
var correctPage = contextRegex.test(path);
if (correctPage && $matchingAnchor) $matchingAnchor.click();
});
我猜想您还希望确保单击选项卡更新URL窗口中的哈希,以便绑定到选项卡事件:
$('nav a').on('click',function() {
var $a = $(this);
var hash = $a.attr("href");
window.location.hash = hash;
});
这将进入ready
函数的内部。您还必须确保触发单击的函数发生在页面首次加载时
完整解决方案:
$(document).ready(function() {
// Declare clickback function
function triggerTabClick() {
var path = window.location.pathname;
var hash = window.location.hash;
var $matchingAnchor = $('nav a[href^="' + hash + '"');
var contextRegex = /my\/page/; // or whatever you want this to be
var correctPage = contextRegex.test(path);
if (correctPage && $matchingAnchor) $matchingAnchor.click();
}
// Trigger it when the hash changes
$(window).bind('hashchange', triggerTabClick);
// Trigger it when the page loads
triggerTabClick();
// Hook into click for tabs to make sure hash is updated on click
$('nav a').on('click',function(event){
event.preventDefault();
var $a = $(this);
var hash = $a.attr("href");
var window.location.hash = hash;
})
})
我知道这已经很晚了,但我想发布我的解决方案,因为这也是我一直坚持的。我认为有一个重要的微妙之处很容易被忽略。您希望触发对的单击,以获取有关绑定到hashchange事件的更多信息
$(window).bind('hashchange', function(event){
var hash = window.location.hash;
// get the actual anchor tag that links to the panel
var $matchingAnchor = $('nav a[href^="' + hash + '"');
if ($matchingAnchor) $matchingAnchor.click();
});
假设您希望将此限制为仅触发某个页面,则可以添加位置检查:
$(window).bind('hashchange', function(event){
var path = window.location.pathname;
var hash = window.location.hash;
var $matchingAnchor = $('nav a[href^="' + hash + '"');
var contextRegex = /my\/page/;
var correctPage = contextRegex.test(path);
if (correctPage && $matchingAnchor) $matchingAnchor.click();
});
我猜想您还希望确保单击选项卡更新URL窗口中的哈希,以便绑定到选项卡事件:
$('nav a').on('click',function() {
var $a = $(this);
var hash = $a.attr("href");
window.location.hash = hash;
});
这将进入ready
函数的内部。您还必须确保触发单击的函数发生在页面首次加载时
完整解决方案:
$(document).ready(function() {
// Declare clickback function
function triggerTabClick() {
var path = window.location.pathname;
var hash = window.location.hash;
var $matchingAnchor = $('nav a[href^="' + hash + '"');
var contextRegex = /my\/page/; // or whatever you want this to be
var correctPage = contextRegex.test(path);
if (correctPage && $matchingAnchor) $matchingAnchor.click();
}
// Trigger it when the hash changes
$(window).bind('hashchange', triggerTabClick);
// Trigger it when the page loads
triggerTabClick();
// Hook into click for tabs to make sure hash is updated on click
$('nav a').on('click',function(event){
event.preventDefault();
var $a = $(this);
var hash = $a.attr("href");
var window.location.hash = hash;
})
})
控制台中的任何错误
?控制台中没有错误。@BG101请参阅上面的更新。控制台中的任何错误
?控制台中没有错误。@BG101请参阅上面的更新。尝试了所有错误,控制台中没有工作,也没有错误。正如我从html示例中看到的,您没有id为或类为“home”的元素,我必须将其取出并尝试其他内容。我尝试了尽可能多的变化。但是它不起作用。另外,肯定有比触发点击更好的方法来加载选项卡。当然,更好的方法是存在的。很难理解你需要哪种帮助。正如您在示例.tab(“show”)
中所写,方法是引导文档提供的示例。Idk在这种情况下您使用的bootsrap的哪个版本检查此bootstrap 3的示例已尝试所有这些示例,均未成功,控制台中也未出现错误。正如我从您的html示例中看到的,您没有id或类为“home”的元素,我必须将其取出并尝试其他内容。我尝试了尽可能多的变化。但是它不起作用。另外,肯定有比触发点击更好的方法来加载选项卡。当然,更好的方法是存在的。很难理解你需要哪种帮助。正如您在示例.tab(“show”)
中所写,方法是引导文档提供的示例。Idk在这种情况下,您使用的是哪个版本的bootsrap再次检查bootstrap 3的示例,肯定有比触发单击更好的方式加载选项卡吗Dagain,肯定有比点击更好的方式来加载标签吗D