所以我最近把一个带有隐藏内容的下拉窗口放在一起,一旦点击,它就会显示它后面的内容,然后将哈希添加到 url 的 anchor ,这样如果链接被复制并发送给其他人。打开链接后,它将自动打开所选的下拉菜单。
这是我的代码...
HTML
<div class="dropdown_wrapper">
<a href="#!window1" id="window1" class="dropdown">Title 1</a>
<div class="hidden dropdown_content">
<p>Hidden Content for window 1</p>
</div>
</div>
<div class="dropdown_wrapper">
<a href="#!window2" id="window2" class="dropdown">Title 2</a>
<div class="hidden dropdown_content">
<p>Hidden Content for window 2</p>
</div>
</div>
如果包含特定哈希,则打开下拉列表的 jQuery
$(document).ready(function() {
var urlHash = window.location.hash.replace('#!', '');
if (window.location.hash.indexOf('!') == 1 && $('.dropdown_wrapper').length > 0) {
$('#' + urlHash).next('.dropdown_content').slideDown(300);
}
});
用于打开下拉列表的实际 onclick 功能的 jQuery
$('.dropdown').click(function(){
if($(this).hasClass('active')){
$(this).removeClass('active');
$(this).next('.dropdown_content').slideUp(300);
}else{
$(this).addClass('active');
$(this).next('.dropdown_content').slideDown(300);
}
});
我的问题是,当有人在打开下拉菜单的情况下直接访问 url 时,我如何获得将按钮从加号更改为减号的事件类,就好像它被单击一样?
最佳答案
您已经实现了图标交换,对吗? 那样不就这么简单了吗?
$('#' + urlHash).addClass('active')
在您的 $(document).ready() {}
P.S.:我不确定我是否完全理解你的问题。如果您的意思不同,请告诉我。
关于javascript - 内容现在可见时如何将类添加到下拉窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37727255/