如何使这些 Jquery 选项卡可以通过 ahref 链接
How to make these Jquery tabs linkable through ahref?
我一整天都在努力解决这个问题 - 所以请放心,我在用尽所有有限的能力后来到这里。我无论如何都不是程序员,但我尝试过。
我正在运行WordPress并使用具有自定义选项卡的主题。
我希望能够使用 ahref 代码链接到选项卡。 例如,www.test.com/page/#tab2 并让它打开第二个选项卡。
这是 HTML 代码:
<div class="short-tabs">
<ul style="border-bottom: 1px solid #dbd6d6;">
<li><a href="">Best Food Processors</a></li>
<li><a href="">Buying Guide</a></li>
</ul>
<div style="border: none;">
this is tab1
</div>
<div style="border: none;">
this is tab2
</div>
</div>
下面是与之对应的 JQUERY 代码:
// Tabbed blocks
jQuery(".short-tabs").each(function () {
var thisel = jQuery(this);
thisel.children("div").eq(0).addClass("active");
thisel.children("ul").children("li").eq(0).addClass("active");
});
jQuery(".short-tabs > ul > li a").click(function () {
var thisel = jQuery(this).parent();
thisel.siblings(".active").removeClass("active");
thisel.addClass("active");
thisel.parent().siblings("div.active").removeClass("active");
thisel.parent().siblings("div").eq(thisel.index()).addClass("active");
return false;
});
我不知道如何编辑它以允许链接到选项卡和从选项卡链接。正如您从HTML中看到的那样,例如,我什至不需要链接到 #tab1 就可以工作。
有什么想法或专家可以提供帮助吗?:)
JSFIDDLE 链接:http://jsfiddle.net/cws1j0q7/2/
您可以使用
window.location.hash
检查URL哈希
例如,将其集成到代码中的最简单方法是将 href 添加到您的链接中
<ul style="border-bottom: 1px solid #dbd6d6;">
<li>
<a href="#tab1">Best Food Processors</a>
</li>
<li>
<a href="#tab2">Buying Guide</a>
</li>
</ul>
检查网址是否有哈希值并触发点击
if(window.location.hash){
$('a[href=' + window.location.hash + ']').trigger('click');
}
您还可以设置 data-* 属性或 ID 并对其进行检查。如果您选择设置 ID,请确保禁用自动滚动。
这里的关键是window.location.hash
jQuery(".short-tabs").each(function () {
var thisel = jQuery(this);
thisel.children("div").eq(0).addClass("active");
thisel.children("ul").children("li").eq(0).addClass("active");
});
jQuery(".short-tabs > ul > li a").click(function () {
selectTab(this);
return false;
});
jQuery("a").click(function () {
processHash( '#' + jQuery(this).prop('href').split("#")[1] );
});
function selectTab($a) {
var $li = jQuery($a).parent();
$li.siblings(".active").removeClass("active");
$li.addClass("active");
$li.parent().siblings("div.active").removeClass("active");
$li.parent().siblings("div").eq($li.index()).addClass("active");
}
function processHash(hash) {
var $a = jQuery('.short-tabs a[href="' + hash + '"]');
selectTab( $a );
}
if ( window.location.hash ) {
processHash();
}
http://jsfiddle.net/cws1j0q7/7/
相关文章:
- jquery动画可以通过编程链接吗
- 在Highcharts中,我们可以通过任何方式在渲染图表之前获得plotWidth和plotHeight
- 我可以通过JQuery将CSS类交换为一个特殊的元素集吗
- 是否可以通过Chrome扩展内容脚本打开Chrome外部协议请求
- 有没有一种方法可以通过只引用JavaScript来执行代码
- 当一些事情可以通过JS或CSS完成时,我应该选择哪种方式
- 响应式图片库,每个图片都可以通过锚链接访问
- window.open:是否可以通过修改DOM来打开一个新窗口
- 可以通过ClassName在多个画布上绘制
- 我可以通过点击html文件中的按钮来记录我的屏幕/网页吗
- 为什么无法根据谷歌地图地理编码geometry.bounds找到位置,但可以通过MongoDB中的geometry.vi
- 有没有什么方法可以通过输入字段(type=file)来找出选择了多少个文件
- 是否可以通过Primefaces 3.3的自定义对话框取消Ajax请求
- 有没有一种正确的方法可以通过jQuery构建HTML
- 我可以通过javascript在鼠标光标旁边动态添加文本吗?
- 我可以通过使用函数绑定来保留默认值吗?如果没有,为什么
- TCP或WebSockets可以通过Android和iOS设备上的Javascript调用
- 是否可以通过 AJAX *按顺序*上传文件
- HTML链接到页面,但带有另一个图像(可以通过JavaScript更改)
- 如何使这些 Jquery 选项卡可以通过 ahref 链接