我有一个ID为callus
的div,在该div
中有一个带有paragraph(#call)
的链接。现在我已经为hover
事件激活了div
,我已经将Click=Free call
添加到其中,到目前为止一切顺利。
然而,动画并没有停止,我得到重复的Click=Free call
文本一直到页脚。
并且动画不会在mouseouleave
上停止。
感谢您的帮助。
对
下面是代码的相关部分:我的目标是只让附加的文本显示一次。
$('#callus').hover(
function() {
$(this).animate({ width: "90%" }, 1000 )
.animate({ height: "50px"},1000 )
.animate({ fontSize: "24px" }, 1000 )
.animate({ borderLeftWidth: "15px" }, 1000 );
$('#call').append( "<p>Click=Free call</p>" );
$('#call').mouseleave(
function() {
$('#call').detach( "<p>Click=Free call</p>");
});
});
几点注意事项:
- 您可以使用工具 中的
- 你不需要把多个属性的动画调用链接在一起,你可以把它们都放在一个调用中,就像下面的
-
.stop()
将停止对象上的任何动画 - 使用
.text()
只更改元素的文本 - Hover需要2个回调。一个用于mouseenter,一个用于mouselleave。在mouseenter事件中有一个额外的mouseleave事件。尝试像下面这样调用
.hover()
- 如果你想这样做的话,你不会在mouseleave事件中让你的属性返回动画
{}
选项来启用代码高亮显示,使您的代码更具可读性。看看上面的修改是否能解决你的问题,或者试试下面的代码。
$('#callus').hover(function() {
$(this).stop().animate({
width: "90%"
,height: "50px"
,fontSize: "24px"
,borderLeftWidth: "15px"
});
$('#call').text("Click = Free call");
},function() {
$('#call').text("");
});