Skip to content Skip to sidebar Skip to footer

Drop Down List Items Still Clickable When The Opacity Is Zero

The issue is that the drop-down button is still clickable when the opacity is set to zero. I am setting the opacity to zero because in need the fading effect. Is there any alternat

Solution 1:

The problem is because when you set opacity to 0, the elements are still in the DOM, and can still be interacted with, despite the fact they cannot be seen - similar to visibility: none.

To fix this you should use display: none. You can also simplify the logic by using a combination of fadeToggle() and fadeOut(), like this:

$(".btn").on('click', function(e) {
  e.stopPropagation();
  var $dropdown = $(this).siblings().fadeToggle(); // toggle this dropdown
  $('.dropdown .btn-dropdown').not($dropdown).fadeOut(); // hide other dropdowns
});

$(document).on('click', function(e) {
  $('.dropdown .btn-dropdown').fadeOut(); // hide all dropdowns
});
.btn {
  outline: none;
  border: none;
  padding: 10px20px;
  cursor: pointer;
  background-color: #eee;
  color: #7b7b7b;
  width: 150px;
  box-shadow: 4px4px6px0pxrgba(0, 0, 0, .16);
  font-weight: bold;
  margin-bottom: 20px;
}

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

.btn-dropdown {
  padding: 0px;
  margin: 0px;
  list-style: none;
  background-color: #fff;
  position: absolute;
  left: 0px;
  top: 30px;
  box-shadow: 4px4px6px0pxrgba(0, 0, 0, .16);
  min-width: 200px;
  border: 1px solid #ddd;
  text-align: initial;
  max-height: 210px;
  overflow: auto;
  display: none;
  z-index: 100;
}

.btn-dropdownli {
  padding: 6px;
  margin: 0px;
  border-bottom: 1px solid #ddd;
  cursor: pointer;
}

.btn-dropdownli:hover {
  background-color: #ddd;
}

.btn-dropdownli:last-child {
  border-bottom: none;
}
<scriptsrc="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><divclass="dropdown"><buttonclass="btn first">Select something</button><ulclass="btn-dropdown"><li>First</li><li>Second</li><li>Third</li><li>Fourth</li></ul></div><divclass="dropdown"><buttonclass="btn first">Select something</button><ulclass="btn-dropdown"><li>Black</li><li>Brown</li><li>Red</li><li>Orange</li></ul></div>

Post a Comment for "Drop Down List Items Still Clickable When The Opacity Is Zero"