javascript - 内容现在可见时如何将类添加到下拉窗口?

标签 javascript jquery html css

所以我最近把一个带有隐藏内容的下拉窗口放在一起,一旦点击,它就会显示它后面的内容,然后将哈希添加到 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/

相关文章:

javascript - 在Javascript中传递API token : How to Keep it Secure

html - CSS - 样式化的边框引线

html - 如何将 CSS 样式应用于 HTML 表格中的特定行?

javascript - 扩展 IsAjaxRequest() 以包含获取 api 请求

javascript - 将负载放入变量中

jquery - 使用不同的功能覆盖选择器回调

javascript - 将垂直制表符转换为 Accordion

jquery - 禁用 native iOS 智能横幅

javascript - 如何使页面以随机像素和随机方向滚动

javascript - 为什么当我指定更改事件时,Javascript 事件会在页面加载时触发?