首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在javascript中交换图像

如何在javascript中交换图像
EN

Stack Overflow用户
提问于 2017-03-07 07:45:56
回答 2查看 39关注 0票数 0

我试图做一个显示/隐藏功能,但我有一个问题,在交换图像(bootstrap类)。显示隐藏功能是工作的,问题是我不知道如何检测哪一个类是在加号的代码,我能够改变类从最小到plus....then用户再次点击按钮,它显示的内容,但它仍然是加号类。

HTMl。

代码语言:javascript
复制
<span class="glyphicon show-hide glyphicon-minus"></span>

JS。

代码语言:javascript
复制
$('.glyphicon-minus').click(function()
{
    $('.show-hide').removeClass('glyphicon-minus').addClass('glyphicon-plus');
    $(this).closest('div').next('.widget-content').slideToggle();

    var $classto = $('.glyphicon-plus');
    $classto.is(':visible')
    {
        $('.show-hide').removeClass('glyphicon-plus').addClass('glyphicon-minus');
    } 
})
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-07 07:52:34

glyphicon-plus类之所以保留下来,主要是因为您在事件侦听器中以“.lyphicon-minus”类为目标。但是当你改变你的类时,字形减号就不存在了。将您切换到保留在元素上的类应该能起到作用。

我还对您的代码进行了一些重构。

代码语言:javascript
复制
$('.show-hide').on("click",function()
{       
    if ($(this).hasClass("glyphicon-minus")){
        $(this).removeClass('glyphicon-minus').addClass('glyphicon-plus');
    }else{
      $(this).removeClass('glyphicon-plus').addClass('glyphicon-minus');
    }
    $(this).closest('div').next('.widget-content').slideToggle();

});
票数 1
EN

Stack Overflow用户

发布于 2017-03-07 07:54:27

代码语言:javascript
复制
$('.show-hide').on('click', function(){
  var $this = $(this);
  if($this.hasClass('glyphicon-minus')) {
    $this
      .removeClass('glyphicon-minus')
      .addClass('glyphicon-plus')
      .closest('div')
      .next('.widget-content')
      .slideUp();
  }
  else {
    $this
      .removeClass('glyphicon-plus')
      .addClass('glyphicon-minus')
      .closest('div')
      .next('.widget-content')
      .slideDown();
  }
});

或者,假设您的html已正确初始化:

代码语言:javascript
复制
$('.show-hide').on('click', function(){
    $(this)
      .toggleClass('glyphicon-plus glyphicon-minus')
      .closest('div')
      .next('.widget-content')
      .slideToggle();
});

(通常,您不希望将切换函数与非切换函数混合使用。)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42637690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档