javascript - 正在调用 jQuery velocity complete 回调但函数没有

标签 javascript jquery velocity.js

我对这个动画有疑问: http://jsfiddle.net/pietrofxq/6kjnnkqx/

function hideIconPicture() {
  self = $(this);
  var p = self.find("p");
  self.find("span").velocity("stop").velocity({
    "opacity":0
  },{
    duration:100,
    complete: function() {
      p.velocity({"right":"0"}, {
        duration:100,
        delay:100
      })
    }
  })
}

function showIconPicture() {
  var self = $(this);
  var p = self.find("p");
  p.velocity({
    "right":"60px",
  }, {
    duration:100,
    complete: function() {
      self.find("span").show().velocity({
        "opacity":1
      },100)
    }
  });
}


$(".uploadPicture .icon-container").hover(showIconPicture, hideIconPicture);

如果您将鼠标放在黑色圆圈的中间上方,并且鼠标快速移动到黑色圆圈下方,动画会出现错误:图标返回到它的位置,但文本保持不透明度:1。

如果在代码中,我只是在文本获得不透明度:0 后将图标的位置设置为其原始位置,这怎么可能?

最佳答案

首先你必须停止当前的动画,然后开始新的动画。
$('.icon-container>*').velocity("stop") 添加到您的显示和隐藏功能。

参见 [ THIS ] .

并且没有必要将属性放在引号中。 (使用 opacity, right 而不是 'opacity', 'right')
要更改显示值,请执行以下操作:(而不是 show() hide() 函数)
查看[ Documentation ]

$elm.velocity({
    ...
},{
    display: 'none' //or 'block'
});

关于javascript - 正在调用 jQuery velocity complete 回调但函数没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25173955/

相关文章:

javascript - 使用 jquery 检查数组中的值是否有分割元素

javascript - JS同步动画

javascript - 无法加载资源: the server responded with a status of 404 (Not Found) javascript/application. js

php - 在 php 中使用的 ajax json 响应数组

javascript - 如何使用 D3 库制作响应式 Canvas 动画

javascript - 步进动画不适用于速度进度

jquery - Velocity JS 在 iPad 上挂起

javascript - event.preventDefault() 和 event.returnValue = false 在 Firefox 中都不起作用

javascript - 如何不在 <div> 上应用 CSS 文件? (不更改原始 CSS 文件。)

javascript - 在多重选择中,我需要能够获取当前所选选项的值