【问题标题】:'How to fix 'JQuery Dropdown inside dropdown'''如何修复'JQuery Dropdown inside dropdown''
【发布时间】:2019-12-08 20:21:58
【问题描述】:

我正在使用多个下拉菜单在我的网站中设置我的简历

我已经尝试过 youtube 教程和 css/jQuery

<div0 class="dropdown">
    <button class="button"><img src="resume start.PNG" alt="resume" width="auto" height="auto"></button>
    <div00 style="display:none;" id="dropcontent">
    <img src="resume detail.PNG" alt="detail" width="auto" height="auto">
        <div000>
            <button class="button1"><img src="career goal-objective.png" alt="career goal/objective" width="auto" height="auto"></button>
                <div0000 style="display:none;" id="dropdown">
                    <img src="job goal.png" alt="job goal" width="auto" height="auto">
                </div0000>
        </div000>
    </div00>
</div0>




$(document).ready(function(){
  $("div0").click(function(){
    $("div00").toggle();
     });
});
$(document).ready(function(){
  $("div000").click(function(){
    $("div0000").toggle();
     });
});

我希望下拉菜单充当正常的下拉菜单,但实际上它会打开下拉菜单,然后另一个会关闭下拉菜单。但是当它再次打开时,它会打开第二个下拉菜单

【问题讨论】:

  • 请为您的问题创建一个minimal reproducible example
  • 您能否指出一个在线文档,该文档谈到了这个 HTML 标签 &lt;div000&gt;
  • 在使用有效的 html 标签修复有两个文档就绪声明后,你应该只有一个。

标签: jquery html dropdown dropdownbox cascadingdropdown


【解决方案1】:

您需要检查 div 在 jquery 中是否可见...切换打开可见性,但没有关闭可见性...像这样,试一试

$(document).ready(function(){
  $("div0").click(function(){

  if($("div0000").is(":visible")) {
        $("div0000").toggle();
  }

    $("div00").toggle();
     });
});
    $(document).ready(function(){
  $("div000").click(function(){

    if($("div00").is(":visible")) {
        $("div00").toggle();
    }

    $("div0000").toggle();
     });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div0 class="dropdown">
    <button class="button"><img src="resume start.PNG" alt="resume" width="auto" height="auto"></button>
    <div00 style="display:none;" id="dropcontent">
    <img src="resume detail.PNG" alt="detail" width="auto" height="auto">
        <div000>
            <button class="button1"><img src="career goal-objective.png" alt="career goal/objective" width="auto" height="auto"></button>
                <div0000 style="display:none;" id="dropdown">
                    <img src="job goal.png" alt="job goal" width="auto" height="auto">
                </div0000>
        </div000>
    </div00>
</div0>

【讨论】:

  • 请精通 HTML 和 JS。答案应该是有帮助的,而不是延长严重问题。
  • @RokoC.Buljan 我编辑了我的答案,但说真的,唯一要做的就是复制并粘贴我在他的 jquery 中写的内容......这不是问题的延伸,一个副本-paste 是唯一需要的东西,我指定了原因......但是好的......
  • Alesssz 为什么要使用 DOM 准备两次? &lt;div000000&gt; 是什么标签?为什么没有关于不在文件名中使用空格的建议?为什么没有关于 DRY 原则的建议?你为什么不展示一个小型且可重复使用的功能来完成复制粘贴的功能?为什么没有关于不使用内联不安全样式属性的建议?为什么你不使用type="button"?请 Alesssz...,如果你看到一个人试图用针抓鱼,再给他三针很好,但没有帮助。如果您不了解钓鱼的原理,也许您认识一位可以提供帮助的朋友?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多