简体   繁体   English

如何在jQuery / Javascript中固定/取消固定下拉菜单?

[英]How to pin/unpin drop down menu in jQuery/Javascript?

I'd like to create a button which will allow me to pin the drop down menu so it's visible permanently, and then unpin it, after clicking on it second time. 我想创建一个按钮,使我可以固定下拉菜单,使其永久可见,然后在第二次单击后将其取消固定。 jQuery toggle() doesn't work because it just hides the drop down, same as changing css display property. jQuery toggle()不起作用,因为它仅隐藏下拉列表,与更改CSS显示属性相同。

Here's my jsfiddle: https://jsfiddle.net/39ykn4vw/ 这是我的jsfiddle: https ://jsfiddle.net/39ykn4vw/

html&css: HTML和CSS:

<div class="dropdown">
  <button class="dropbtn">Dropdown</button>
  <div class="dropdown-content">
    <button class="pin">
      pin
    </button>
  </div>
</div>

.pin {
  position: absolute;
  left: 5px;
  top: 5px;
}

.dropbtn {
    padding: 16px;
    font-size: 16px;
}

.dropdown {
    position: relative;
    display: inline-block;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #cccccc;
    min-width: 160px;
    min-height: 300px;
    z-index: 1;
}

.dropdown:hover .dropdown-content {
    display: block;
}

Use additional class to detect pinned element: 使用其他类来检测固定的元素:

 .pin { position: absolute; left: 5px; top: 5px; } .dropbtn { padding: 16px; font-size: 16px; } .dropdown { position: relative; display: inline-block; } .dropdown-content { display: none; position: absolute; background-color: #cccccc; min-width: 160px; min-height: 300px; z-index: 1; } .dropdown:hover .dropdown-content, .dropdown-content.pinned { display: block; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="dropdown"> <button class="dropbtn">Dropdown</button> <div class="dropdown-content"> <button class="pin" onClick="$(this).parent().toggleClass('pinned')"> pin </button> </div> </div> 

如果不是css属性,则可以通过以下链接访问: http : //webpop.github.io/jquery.pin/#link-three

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM