如何在循环上为jQuery函数的变量设置动画?

时间:2016-03-31 03:06:52

标签: javascript jquery loops animation blur

我使用Foggy.js模糊了一个图像(在div #respirando内)。

我想连续打开和关闭该模糊功能。我认为这意味着能够使用循环函数控制blurRadius变量。我尝试过使用.animate(),但我不确定是否可以为这样的jQuery属性设置动画以及语法包含的内容。

以下是代码:

$(document).ready( function(){
    $('#respirando').foggy();

    $('#respirando').foggy({
        blurRadius: 6,          // In pixels.
        opacity: 1,             // Falls back to a filter for IE.
        cssFilterSupport: true  // Use "-webkit-filter" where available.
    }); 
});

也许$('#respirando').foggy.animate? 或$('#respirando').animate

1 个答案:

答案 0 :(得分:1)

问题在于blurRadius不是图片的属性,只是雾化使用的参数,因此无法与.animate一起使用。

似乎雾的目的是为不支持-webkit-filter: blur的浏览器提供支持。如果您不关心它,则无法使用雾,然后您只需将-webkit-filter: blur应用于您的图片并使用$('#respirando > img').animate()

另一个选择是创建一个计时器循环,并在每次迭代时销毁雾,然后重新创建它,模糊颜色可能会增加。

编辑:@ 3dgoo展示了使用CSS动画应用模糊的示例:

img {
  width: 300px;
}

.blur {
  animation: blur 5s infinite;
  animation: blur 5s infinite;
}

@-webkit-keyframes blur {
  0% {
    -webkit-filter: blur(0px);
    filter: blur(0px);
  }
  50% {
    -webkit-filter: blur(5px);
    filter: blur(5px);
  }
}

@keyframes blur {
  0% {
    -webkit-filter: blur(0px);
    filter: blur(0px);
  }
  50% {
    -webkit-filter: blur(5px);
    filter: blur(5px);
  }
}