如何在使用jQuery动画的任何时候运行函数?

时间:2010-05-26 22:07:29

标签: javascript jquery animation queue

我的代码中有一些jQuery动画,可以响应一些鼠标点击和其他逻辑来上下滑动div。这一切都只是很好用,但是在IE 6中,由于一些奇怪的原因,页面上的一些较小的图标图像不会与div的其余部分一起滑动。他们有点保持闪烁然后闪烁到新的位置,我已经把它归结为IE6'功能'。

考虑到我必须支持IE6,我想在动画开始时随时隐藏图标,并在队列为空时再次显示它们。

我找不到任何类型的事件或钩子进入队列本身的引用,我宁愿不添加隐藏代码,然后将每个动画的显示代码作为回调。

谢谢,如果你能提供帮助 -

B'/ P>

3 个答案:

答案 0 :(得分:2)

IE6愚蠢的可能原因:hasLayouthttp://www.satzansatz.de/cssd/onhavinglayout.html

尝试将zoom: 1添加到图片的CSS中。

答案 1 :(得分:1)

你可以使用livequery plugin这样做:

$(':animated').livequery(function() {
  // firing code here
}, function() {
  // anything you want to run when all animation stops
});

此类功能是livequery插件实际上仍然有用的唯一原因,因为否则其功能已被live()delegate()替换

由于这只发生在IE6中,将它们隐藏在所有浏览器中都是愚蠢的,所以在触发功能中你可以添加一个类似.hide4IE6 { _display:none; }的IE6黑客让它们继续在其他浏览器中显示

答案 2 :(得分:0)

在IE7中是否也这样做? div或图标是否相对定位?