我有一些jQuery将定义列表转换为可扩展/可折叠的常见问题解答列表。
// Toggle expand/collapse
$('.faq a').click(function () {
$(this).toggleClass('active').next().slideToggle('fast');
});
var hash = document.URL.substr(document.URL.indexOf('#'));
$(hash).addClass('active').next().show();
$(hash).parent().parent().prev('a').addClass('active').next().show();
我在整个网站上有几个常见问题解答链接,点击它们会将您发送到常见问题解答页面并展开相关问题,问题是一些常见问题解答答案中有其他问题的链接,而哈希链接跳转到相关的问题,它没有扩大答案。
这是因为jQuery位于$(document).ready(function()中,所以代码只在重新加载页面后激活吗?我是否需要触发重载?
干杯
答案 0 :(得分:0)
单击哈希链接不会重新加载页面,它只是在页面中导航。
您可以将click事件绑定到为您工作的哈希链接。例如:
$('ul li a').click(function() {
$($(this).attr('href')).toggleClass('active').next().slideToggle('fast');
});
答案 1 :(得分:0)
尝试
//for the demo in fiddle you need to use the selector ul li a
$('.faq dd a[href^="#"]').click(function(){
$($(this).attr('href')).trigger('click')
})
演示:Fiddle