当鼠标悬停在菜单项上时,在执行fadeIn之前等待背景图像淡出完成
Wait for background image fadeOut to finish before fadeIn executes when hovering on menu items
Q:我有一个内容页,里面有一个空的div,根据悬停在哪个菜单项上,不同的背景图像会淡出。我的问题是,我如何才能等待当前背景图像淡出之前,当前菜单项悬停被允许淡出。目前,如果我将鼠标悬停在另一个菜单项上,则背景图像动画的行为就像已经发生过一样。
你可以在下面看到我的解决方案和描述图片。
描述HTML<div class="bg"></div>
<a id="first" href="{{ url('example') }}" class="buttonlink">
<div class="buttontitle">
<h1 class="buttontitleinner">example</h1>
<p class="buttoncaption">example</p>
</div>
</a>
<a id="second" href="{{ url('example2') }}" class="buttonlink">
<div class="buttontitle">
<h1 class="buttontitleinner">example2</h1>
<p class="buttoncaption">example2</p>
</div>
</a>
jQuery $("#first").hover(function () {
$(".bg").css("background-image", 'url("./img1.png")').stop().animate({'opacity': 0.25}, 300);
},function(){
$(".bg").css("background-image", 'url("./img1.png")').stop().animate({'opacity': 0}, 500);
});
$("#second").hover(function () {
$(".bg").css("background-image", 'url("./img2.png")').stop().animate({'opacity': 0.25}, 300);
},function(){
$(".bg").css("background-image", 'url("./img2.png")').stop().animate({'opacity': 0}, 500);
});
问题吗?就问我。
谢谢先!
///E
在调用.stop()
之后,在调用.animate()
之前将图像淡入,将opacity
设置为0
。这样,渐隐动画将完全运行。否则,不透明度可能已经在0.25
,所以它不会运行。
$(".bg").css("background-image", 'url("./img1.png")').stop().css({opacity: 0}).animate({opacity: 0.25}, 300);
jsfiddle
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 单击按钮以等待单击按钮
- React组件等待所需道具进行渲染
- 可以在这里为背景图像设置滤镜吗
- 如何使用jquery更改html中的背景颜色
- 使用 js 将背景图像设置为 HTML
- 使用带括号的图像URL作为jQuery的背景
- 如何使用css动画/javascript使具有背景图像的元素出现
- 循环浏览多个身体背景图像
- 将淡入淡出添加到“我的身体背景滑块”
- 浮动图像左作为背景-css
- 正在等待呈现图表,直到加载数据为止
- Fullpage.js-视频+背景在同一部分
- 背景图像顶部的滚动图像不移动
- 在pdfmake中嵌入背景图像
- 如何在 ajax 调用之前和之后更改 css 属性(如光标:等待或背景)
- 等待背景视频完全加载,然后显示
- JS正在等待加载CSS背景图像
- 等待 CSS 中的背景图像完全加载
- 当鼠标悬停在菜单项上时,在执行fadeIn之前等待背景图像淡出完成