我与我的项目,结合jQuery/Coffeescript有问题。jQuery隐藏和显示不正确(多次)
在我的主页上,我有一个文本块,下面有一个箭头。 在那里,有按钮,每当我将鼠标放在其中一个按钮上时,我希望文本块+箭头移动。 我使用jQuery UI库执行此操作,方法hide
和show
。
在我的CSS代码中,我做了几个类:.position1
,.position2
和.position1
。每次用鼠标悬停在其中一个按钮上时,我都希望文本块移动到特定的位置,所以我改变它的类(如果有人有更好的解决方案,我很乐意听到它)。
现在我遇到的问题是,有时箭头皮和之后彼此出现多次(特别是当我移动鼠标非常快按钮之间)
的简单(部分)版本我的jQuery是如下:
var appear_arrow = function(to_position, show_delay) {
removeClasses($('.arrow'));
$('.arrow').addClass(to_class);
$('.arrow').delay(show_delay).show('slide', 'slow');
};
var to_position1 = function() {
$('.arrow').hide(0);
$('.text_block').hide(appear);
switchClass($('.text_block'));
$('.text_block').show(appear);
appear_arrow('position1', delay);
};
$('.button1').hover(
function() {
to_position1();
},
function() {}
);
我的问题,没有任何人知道为什么有时候箭头出现多次。或者有人建议如何更好地做到这一点?
亲爱的@Flo,感谢您的快速回复。事情是,我希望它有点顺利,然后突然转换对我来说不是一个很好的选择。另外,在我的原始代码(用咖啡脚本编写)中,我正在使用这些变量。 – Ron 2012-01-14 14:34:48
然后您可以在添加新的定位类并再次显示之前停止()队列并添加一个增量动画。 新动画将根据元素的状态(即不透明度)计算动画时间(箭头当前处于0.2不透明度 - >动画持续时间* = 0.2)。但是我可能会过度看待事情。 – Flo 2012-01-14 14:52:36