jquery 使用此选择器进行 slideToggle
jquery slideToggle with this selector
我在使用 jquery slideToggle 时遇到问题,这是我的代码:
$(".dropdownmainmenu").click(function(){
$(this).children(".showmenu").slideToggle();
$(this).toggleClass("activemainmenu");
$(this).find(".showarrowmainmenu").toggleClass("arrowright");
$(this).find(".showarrowmainmenu").toggleClass("arrowdown");
return false;
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<div class="dropdownmainmenu">
<div class="hedmainmenu">
<a href="#">
<i class="fa fa-newspaper-o"></i>
News
<span class="showarrowmainmenu arrowright"></span>
</a>
</div>
<ul class="showmenu">
<li><a href="add_news.php">Add news</a></li>
<li><a href="news.php">All News</a></li>
</ul>
</div>
我的问题是当我向下滑动菜单并尝试打开 link 时 添加新闻 它不起作用并且菜单向上滑动。
我该如何解决这个问题?
如果理解正确,您只想将 addEventListener 添加到具有 class .hedmainmenu
:
的 div
元素
//change the selector to add eventListener to the the div with class hedmainmenu
$(".dropdownmainmenu > div.hedmainmenu").click(function() {
//now .showmenu is sibling of div.hedmainmenu so I used .next()
$(this).next(".showmenu").slideToggle();
$(this).toggleClass("activemainmenu");
$(this).find(".showarrowmainmenu").toggleClass("arrowright");
$(this).find(".showarrowmainmenu").toggleClass("arrowdown");
return false;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="dropdownmainmenu">
<div class="hedmainmenu">
<a href="#">
<i class="fa fa-newspaper-o"></i> News <span class="showarrowmainmenu arrowright"></span>
</a>
</div>
<ul class="showmenu">
<li><a href="add_news.php">Add news</a>
</li>
<li><a href="news.php">All News</a>
</li>
</ul>
</div>
我在使用 jquery slideToggle 时遇到问题,这是我的代码:
$(".dropdownmainmenu").click(function(){
$(this).children(".showmenu").slideToggle();
$(this).toggleClass("activemainmenu");
$(this).find(".showarrowmainmenu").toggleClass("arrowright");
$(this).find(".showarrowmainmenu").toggleClass("arrowdown");
return false;
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<div class="dropdownmainmenu">
<div class="hedmainmenu">
<a href="#">
<i class="fa fa-newspaper-o"></i>
News
<span class="showarrowmainmenu arrowright"></span>
</a>
</div>
<ul class="showmenu">
<li><a href="add_news.php">Add news</a></li>
<li><a href="news.php">All News</a></li>
</ul>
</div>
我的问题是当我向下滑动菜单并尝试打开 link 时 添加新闻 它不起作用并且菜单向上滑动。
我该如何解决这个问题?
如果理解正确,您只想将 addEventListener 添加到具有 class .hedmainmenu
:
div
元素
//change the selector to add eventListener to the the div with class hedmainmenu
$(".dropdownmainmenu > div.hedmainmenu").click(function() {
//now .showmenu is sibling of div.hedmainmenu so I used .next()
$(this).next(".showmenu").slideToggle();
$(this).toggleClass("activemainmenu");
$(this).find(".showarrowmainmenu").toggleClass("arrowright");
$(this).find(".showarrowmainmenu").toggleClass("arrowdown");
return false;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="dropdownmainmenu">
<div class="hedmainmenu">
<a href="#">
<i class="fa fa-newspaper-o"></i> News <span class="showarrowmainmenu arrowright"></span>
</a>
</div>
<ul class="showmenu">
<li><a href="add_news.php">Add news</a>
</li>
<li><a href="news.php">All News</a>
</li>
</ul>
</div>