即使切换课程,背景图片也会保留

时间:2018-04-25 07:30:59

标签: jquery css sass

我不确定如何正确解释这一点,但这应该作为常规阅读更多按钮切换文本和图像(图标)。但是,出于某种原因,切换类不会删除其中一个图像,而它对另一个图像有效,因此两个图像中的一个始终可见。

这是html

 <div class="read-more more">
   <button class="read-more_button">Read more</button>
 </div>

这是我用来切换读取更多div的类的jQuery。它始终以“更多”课程开始。

$(".read-more").click(function(){
  $(this).toggleClass("more less");
  $(".content-sidebar").toggleClass("longtext");

  if( $(this).hasClass("less") ) {
    $(".read-more_button").html("Hide");
  } else if( $(this).hasClass("more") ) {
    $(".read-more_button").html("Read more");
  }
});

编辑:这是用于添加图标的css(sass)

.read-more {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 100px;
  right: 0;
  border-radius: 0 0 5px 5px;
  margin: 0 15px;
  cursor: pointer;
  background: none;

  &.more {
    background: (gradient but removed for readability)

    button.read-more_button {
      background: url('assets/plus-more.png') 0 / 14px no-repeat transparent;
    } 
  }

  &.less {
    background: transparent;

    button.read-more_button {
      background: url('assets/minus-less.png') 0 / 14px no-repeat transparent;
    }
  }

  button.read-more_button {
    position: absolute;
    bottom: 15px;
    left: 30px;
    right: 30px;
    border: none;
    background: none;
    padding: 0 0 0 20px;
    color: $gray-dark;
    cursor: pointer;
    outline: none;
  }
}

两个类都有一个图标设置为背景图像。 “more”有一个加号图标,“less”有一个减号图标。 “less”的图标可以正常工作。对于“更多”,情况并非如此。即使“更多”课程已切换为“更少”,加号图标仍然可见。如何才能使加号和减号图标仅在其类处于活动状态时显示?

0 个答案:

没有答案