javascript - Accordion 可展开它可以向下滑动,但不会向上滑动

标签 javascript wordpress woocommerce

这是代码,有人可以帮忙修改一下吗?

(function($){
$(document).ready(function() {

// Categories menu opening
// Categories menu opening
$('.woocommerce.widget_product_categories .product-categories li.cat-parent').prepend('<div class="cat-menu-close"></div>');

$( document ).on( "click", ".woocommerce.widget_product_categories .product-categories li.cat-parent:not(.opened) > .cat-menu-close", function(e) {
    $(this).parent().addClass('opened');

    $(this).next().next('ul.children').slideDown();

});
}) (jQuery);

谁能帮我修改

最佳答案

要通过滑动效果“切换”元素的可见性,您可以使用 slideToggle .

请注意,您需要从选择器中删除 :not(.opened),因为当父元素具有此类时,处理程序将无法工作。

$(document).on("click", ".woocommerce.widget_product_categories .product-categories li.cat-parent > .cat-menu-close", function(e) {
  var $catParent = $(this).closest('li.cat-parent');
  var state = $catParent.hasClass('close');

  $catParent.toggleClass('opened', !state);

  $(this).nextAll('ul.children:first').slideToggle(state);
});
.cat-menu-close {
  cursor: pointer;
}

ul {
  list-style: none;
}

ul.children {
  display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="woocommerce widget_product_categories">
  <div class="product-categories">
    <ul>
      <li class="cat-parent">
        <span class="cat-menu-close">
          <button>Expand/collapse</button>
        </span>
        
        <div>Random sibling element</div>
        
        <ul class="children">
          <li>Child item</li>
          <li>Child item</li>
          <li>Child item</li>
        </ul>
      </li>
    </ul>
  </div>
</div>

关于javascript - Accordion 可展开它可以向下滑动,但不会向上滑动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54339193/

相关文章:

php - 刷新 WooCommerce Checkout 中某些运输字段更改的打印值

php - 当特定产品 ID 位于购物车时设置 Woocommerce 产品类别商品价格

javascript - 无法使用 Javascript 替换方法删除文本区域中的空换行符

javascript - React显示没有页眉和页脚的路由容器

css - Wordpress 自定义 Html - 跳转到 anchor 然后滚动

php - 从数据库中提取特定帖子的对象

javascript - 无法从下拉列表中选择值

javascript - .replace 函数的问题

php - 无法使用 LIKE 从 Wordpress 数据库获取结果

mysql - 编写 SQL 查询以删除 Woocommerce 中的旧订单