javascript - 单击时切换 .dimBackground() 方法

标签 javascript jquery jquery-plugins

我试图调暗主要内容的背景,同时强调需要从右侧显示的侧边栏,因此我使用 dim-background jquery 插件。我想在单击触发器时切换元素的 .dimBackground() 方法。它添加了一个带有 dimbackground-curtain 类的 div,当我单击触发器时,它只是堆叠这个 div,使一切变得越来越暗。

我希望能够切换侧边栏和主要内容上方的调光。如果可能的话,如果我点击侧边栏外部也能够切换它。

fiddle 的示例代码:

$('.trigger').click(function() {
  $('.sidebox').toggleClass('sidebox-open');
  $('.sidebox').dimBackground({
    darkness: 0.35
  });
});

没有 CDN 提供此 library ,但是,这里是 Fiddle 描述我的问题。

最佳答案

根据Usage指南中,有一个 .undim 方法。 似乎 .dimBackground 不会切换,因此您必须将状态存储在您的一端并调用 .dimBackground.undim,具体取决于状态并切换。

示例:

var dimmed = false;
$('.trigger').click(function() {
  var $sidebox = $('.sidebox'); //avoid searching the element twice
  if(dimmed){
      $sidebox.removeClass('sidebox-open');
      $sidebox.undim();
      dimmed = false;
  } else {
      $sidebox.addClass('sidebox-open');
      $sidebox.dimBackground({
        darkness: 0.35
      });
      dimmed = true;
  }
});

关于javascript - 单击时切换 .dimBackground() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40383330/

相关文章:

javascript - Colorthief.js 与 Polymer.js - 查找导致 onload 事件的图像的原色

javascript - 使用/.../和正则表达式与 exec 时的不同结果

javascript - 使用 jquery 从表单输入中去除引号的最佳方法

javascript - 替代 eval() 以使用 LiveValidation 构造函数

jQuery 如何在点击时停止 Vimeo 视频

javascript - jQuery:瞄准类(class)前 3 名

javascript - 未应用元素上的动画

jquery - SlickGrid - 使用 grid.onAddNewRow 处理 DataView

jquery ui 选择菜单 : How do i set the dynamic width correctly?

javascript - 当我在之前发生的事件中时,如何等待文档在 javascript 中完成加载