javascript - 如何通过点击img来增加box-shadow?

标签 javascript jquery html css

我设置了代码,以便当用户单击 img 时,框阴影会增加。然而,我的代码只增加了一次盒子阴影,我不太明白为什么。我想这与 .on() 有关,但我不太确定为什么会发生这种情况。如果有人能提供一些见解,我将非常感激。

  var hshadow=10;
  var vshadow=10;
  function boostShadow() {
      hshadow= hshadow + 5;
      vshadow= vshadow + 5;
      hshadow=hshadow.toString() + "px ";
      vshadow=vshadow.toString() + "px ";
      $("img").css("box-shadow",hshadow + vshadow +"5px #565656");
  }

  $("img").on("click",function () {
      boostShadow();
  });

最佳答案

代码中的问题是,当您向变量添加 "px" 时,您将变量设置为字符串,这会阻止在下次单击时进一步添加它们。请尝试以下操作:

var hshadow = 10,
    vshadow = 10;
function boostShadow(image) {
    hshadow += 5;
    vshadow += 5;
    $(image).css("box-shadow",hshadow+"px " + vshadow+"px 5px #565656");
}

$("img").on("click",function () {
    // We pass the clicked image as a variable so only
    // that image's box-shadow is altered
    boostShadow(this);
});

关于javascript - 如何通过点击img来增加box-shadow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31778163/

相关文章:

javascript - 显示具有特定数据的表格行,提供来自 javascript 变量的数据

javascript - 单击 anchor 标记时获取当前行值

javascript - 编写 JavaScript 函数的更好方法

javascript - 在表单中选择单选按钮时如何显示和隐藏div?

android - 如何在 HTML5 android 应用程序上呈现印地语字体

javascript - 谷歌iframe在悬停时更改不透明度

jquery - 有没有简单的方法可以获取 Bootstrap 4 中模态的数据

javascript - 无法使用 javascript 删除和显示另一个 ul 标签?

jquery - 如何在内联编辑jqgrid中的onSelectRow中将焦点设置在特定单元格上

javascript - 在滚动时创建一个粘性标题,位置固定会破坏标题