javascript - jQuery 切换图像不切换

标签 javascript jquery html css

我创建了可扩展链接,当您展开链接时,箭头会发生变化。 Expandable 效果很好,当我展开另一个链接时,箭头会不断正确变化。如果我展开相同的链接,它不会正确切换。

这是一个demo .

HTML

<ul class="side-expand">
  <li class="expandor">
    <a class="adobe" href="#" id="vid_link3">Adobe Digital Editions</a>
    <ul>
      <li>
        <a href="#" id="link22"><i class="icon-video"></i>
        Introduction</a>
      </li>
    </ul>
  </li>
  <li class="expandor">
    <a class="android" href="#" id="vid_link4">Android</a>
    <ul>
      <li>
        <a href="#" id="link29"><i class="icon-video"></i>
        Introduction</a>
      </li>
    </ul>
  </li>
</ul>

JavaScript

$('.expandor > a:first-child').click(function(e) {
  e.preventDefault();
  var $this = $(this).next('ul');
  $(".side-expand li ul").not($this).slideUp();
  $this.slideToggle();
  $('.side-expand > li').css('background-color', 'transparent');

  $('.side-expand > li').removeClass('dexpandor');

  var visibleUL = $('.side-expand li').find('ul').is(':visible');
  if (visibleUL) {
    $(this).parent('li').css('background-color', 'transparent', 'font-weight', 'normal').addClass('dexpandor');
  }
});

arrow not changing for the same toggle

最佳答案

将第 8 行到第 13 行替换为以下内容应该可以正确切换箭头类:

$(this).parent().siblings().removeClass('dexpandor');
$(this).parent().toggleClass('dexpandor');

关于javascript - jQuery 切换图像不切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35605731/

相关文章:

javascript - malihu 自定义滚动条将 <div class ='mCSB_draggerRail' ></div> 放在 Electron 上的错误位置

jquery - jqGrid 卡住列中出现错误

html - 使用 VBA 面临错误从网站中提取超链接

html - rowspan 不工作 html

html - 重定向到同一页面,但其中有一条消息

javascript - 获取元素在二维数组中的位置

javascript - iOS:-webkit-overflow-scrolling:触摸和滚动顶部

php - 分页后显示当前表头 css html

javascript - Prototype 和 jQuery 之间的冲突

Javascript:从其中有换行符或 '\n'的主字符串中获取子字符串