jQuery .fadeTo() -- 淡出后淡入
jQuery .fadeTo() -- Fade back in after fade out
我这个项目的目标是有一个div,当将鼠标悬停在上面时,它会随机选择背景颜色,然后淡出。但是,我希望能够返回并再次将鼠标悬停在div 上并让该过程重新开始。到目前为止,我只设法获得随机颜色并使其淡出,但是当我将鼠标悬停再次悬停时,没有任何反应。尝试删除不透明度和背景类无济于事。这是我到目前为止的代码:
$(function() {
var $foo = $('.foo');
function getRandomColor() {
$foo.removeClass('background-color');
$foo.addClass('opacity', '1');
var length = 6;
var chars = '0123456789ABCDEF';
var hex = '#';
while(length--) hex += chars[(Math.random() * 16) | 0];
return hex;
}
$foo.mouseenter(function(){
$(this).css('background-color', getRandomColor());
});
$foo.mouseleave(function(){
$(this).fadeTo( 1000, 0 );
});
});
HTML - 只是一堆要测试的div
<div class="foo box">Hello world</div>
<div class="foo box">Hello world</div>
<div class="foo box">Hello world</div>
<div class="foo box">Hello world</div>
<div class="foo box">Hello world</div>
<div class="foo box">Hello world</div>
提前感谢!
我建议你链接jQuery方法,对于0不透明度和返回,使用fadeOut
和fadeIn
,以及回调来重置背景颜色。这样。
$(this).fadeOut(1000, function() {
$(this).css("background-color","transparent")
});
$(this).fadeIn(1000);
fadeOut
具有淡入 0 不透明度的效果,在本例中为 1 秒。 fadeIn
执行相反的操作,回调将重置颜色。如果您不想重置颜色,请改为执行此操作。
$(this).fadeOut(1000).fadeIn(1000);
这是一个jsFiddle。请注意,我删除了不必要的类分配,因为您不能像尝试的那样通过类影响样式属性。
尝试用 .css()
代替 .removeClass()
, .addClass()
$foo.css('background-color', "");
$foo.css('opacity', '1');
为
$foo.removeClass('background-color');
$foo.addClass('opacity', '1');
$(function() {
var $foo = $('.foo');
function getRandomColor() {
$foo.css("background-color", "");
$foo.css("opacity", '1');
var length = 6;
var chars = '0123456789ABCDEF';
var hex = '#';
while (length--) hex += chars[(Math.random() * 16) | 0];
return hex;
}
$foo.mouseenter(function() {
$(this).css('background-color', getRandomColor());
});
$foo.mouseleave(function() {
$(this).fadeTo(1000, 0);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<div class="foo box">Hello world</div>
<div class="foo box">Hello world</div>
<div class="foo box">Hello world</div>
<div class="foo box">Hello world</div>
<div class="foo box">Hello world</div>
<div class="foo box">Hello world</div>
相关文章:
- Javascript将图像src更改为淡入淡出
- css(或jQuery)悬停时淡入淡出
- 将淡入淡出添加到“我的身体背景滑块”
- 多重潜水淡入淡出打开
- 添加/删除类淡入淡出不起作用
- 带有计数器、缩略图、进度条和淡入淡出效果的简单jQuery幻灯片
- 使用jquery淡入淡出
- 淡入淡出脚本不起作用
- 具有淡入淡出效果的全背景图像
- 纯 JavaScript 淡入淡出 - 淡入不起作用
- 帧淡出/淡入
- 如何在onClick事件中使用ReactJS淡出/淡入内容
- 淡出 ->淡入无法正常工作
- JQuery 淡出/淡入以创建排序列表
- 无法让元素淡出/淡入
- 正在添加'淡出/淡入'响应媒体查询
- jQuery:具有淡入和淡出(淡入)的图像
- Div won't淡出/淡入
- 淡出/淡入和上卷jquery效果
- 如何根据 SELECT 更改淡出/淡入视图