我试图获得一个指向手风琴的锚链接,然后打开切换开关。
我已经在Google上找到了一个代码片段,但并非完全如此。
当我在手风琴所在的页面上并单击锚链接时,它会正确滚动到手风琴并打开选项卡---但是,它此时会刷新页面,而不会停留在手风琴所在的位置。
如果我单击风琴所不在的另一页面上的锚点链接,那么它所做的只是将我定向到该页面,而不是风琴。
的任何帮助将是巨大的。
网址是http://casafamilyserv.wpengine.com/resources/
锚链接是页面右上角的“进行捐赠”按钮。
这是JS片段:
<script>
jQuery(function($) {
//accordion
$('.menu-item-98 a').on('click', function(event){
$('#my-accordion .et_pb_accordion_item_2 .et_pb_toggle_title').click();
$("html, body").animate({ scrollTop: $('#my-accordion').offset().top }, 1000);
});
});
</script>
锚链接是打开“贡献/捐赠”手风琴标签。
只需添加即可return false;
。
$('.menu-item-98 a').on('click', function(event){
// sometimes you may also need to add
// event.preventDefault();
donateScroll();
return false;
});
发生这种情况是因为您的捐赠按钮#donate
的网址中有一个。
<a href="/resources#donate">Make A Donation</a>
默认情况下,浏览器将尝试id="donate"
在页面上找到某个地方并跳转到该页面。添加return false;
默认行为的块,并允许您的js完全控制click事件。
当您从其他页面到达时,您还可以添加一些内容来检查现有哈希:
function donateScroll(){
$('#my-accordion .et_pb_accordion_item_2 .et_pb_toggle_title').click();
$("html, body").animate({ scrollTop: $('#my-accordion').offset().top }, 1000);
}
if(window.location.hash == '#donate') {
donateScroll();
}
除了重复滚动和单击逻辑外,您还可以将其移动到可重用的函数中。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句