动画步骤和事件数据

Animation steps and event data

本文关键字:事件 数据 动画      更新时间:2023-09-26

我刚刚写了一些代码来帮助你理解我的误解......

正文中的一些代码:

<div id="jeden">
   <p>Jeden.</p>
</div>
<div id="dwa">
   <p>Dwa.</p>
</div>

还有一些jquery代码:

function blurRad(e) {
   $(this).css({
      "-webkit-filter": "blur(" + e.data.blurRad + "px)",
      "filter": "blur(" + e.data.blurRad + "px)",
      "-moz-filter": "blur(" + e.data.blurRad + "px)",
      "-o-filter": "blur(" + e.data.blurRad + "px)",
      "-ms-filter": "blur(" + e.data.blurRad + "px)"
   });
};
function nowa(e) {
   $(this).before(e.data.nowa);
};
$(document).ready(function () {
   $('#dwa').click({nowa: "k"}, nowa);
   $('#jeden').animate({blurRad: 10}, {duration: 2000, step: blurRad}); 
});

现在我有一个问题;为什么代码包含在:

   $('#dwa').click({nowa: "k"}, nowa);

有效,以及为什么代码包含在:

   $('#jeden').animate({blurRad: 10}, {duration: 2000, step: blurRad});

不想工作?

jsfiddle上的相同代码:http://jsfiddle.net/g57nkbg2/

我的错,它确实有效。我学到了一些新东西。我认为我的旧解决方案很好:

$(document).ready(function () {
    $('#dwa').click({nowa: "k"}, nowa);
    $('#jeden').css({
        "filter": "blur(10px)",
        "transition": "2s"
    });
});

但代码中的错误不是这样。您应该将 blurRad 函数更改为:

function blurRad(e) {
   $(this).css({
      "-webkit-filter": "blur(" + e + "px)",
      "filter": "blur(" + e + "px)",
      "-moz-filter": "blur(" + e + "px)",
      "-o-filter": "blur(" + e + "px)",
      "-ms-filter": "blur(" + e + "px)"
   });
};

它就像一个魅力。