jQuery 动画透明
$(".block li").hover(
function(){
$(this).animate({backgroundColor: "#000"});
},
function(){
$(this).animate({backgroundColor: "#fff"});
}
);
需要将#fff
更改为无颜色。动画应从 #000
到 transparent
发生。
有什么解决办法吗?
$(".block li").hover(
function(){
$(this).animate({backgroundColor: "#000"});
},
function(){
$(this).animate({backgroundColor: "#fff"});
}
);
Need to change #fff
to no color. Animation should occur from #000
to transparent
.
Any solution?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
您可以使用
rgba(...)
(在此处查看浏览器支持)。~~
是底值,否则你最终会得到像rgba(0.1029302...
这样的东西。You could use
rgba(...)
(see browser support here).~~
is to floor values, otherwise you'll end up with stuff likergba(0.1029302...
.不要更改背景颜色,而是删除该属性!代码很简单:
示例: http ://jsfiddle.net/rdWTE/
为了让它工作,你需要 jQuery 和 jQuery UI。完全符合您的要求(除了颜色)!
jQuery 脚本中的这些数字代表动画持续时间(以毫秒为单位)。
编辑:
嗯...发现
toggleClass
有时会出现错误。最好在悬停时使用addClass
,在鼠标移出时使用removeClass
。Instead of changing background color, remove that attribute!The code is as simple as:
Example: http://jsfiddle.net/rdWTE/
For it to work, you need jQuery and jQuery UI. Does exactly what you wanted (except the colors)!
Those numbers in jQuery script stand for animation duration in milliseconds.
EDIT:
Uhm... Found out that
toggleClass
can bug from time to time. Better to useaddClass
on hover, andremoveClass
on mouse out.编辑:我已经测试过这个并且它有效。
创建两个类。一张带背景:#000,一张带背景:透明;
为#000背景类的toggleClass或removeClass设置动画。
示例:
CSS:
Edit: I have tested this and it works.
Create two classes. One with background: #000 and one with background: transparent;
Animate the toggleClass or removeClass for the #000 background class.
example:
CSS:
这可能有效。它在 onMouseOver 上添加一个带有背景颜色的新 div,然后淡出并删除 onMouseOut 上的 div。
示例。
在图像上列出项目的示例。
祝你好运,希望这会有所帮助。
This might work. It prepends a new div with a background color onMouseOver, then it fades out and removes the div onMouseOut.
Example.
Example with list items over an image.
Good luck, hope this helps.
为什么不使用不透明度 CSS3 标签?
Why not use the opacity CSS3 tag?
我认为您需要使用 颜色插件。
I think you need to use the color plugin.
这可能需要对您的 HTML 和 CSS 进行一些更改(如果您没有直接的 HTML/CSS 控制,则可能会受到脚本的影响)。
我会将每个“.block li”元素拆分为两个元素:一个是可以使用 $.fadeTo() 进行动画处理的背景元素,另一个元素位于顶部,其中包含前景内容,您可以在其上使用您的处理程序调用 $.hover() 。
This may require some change to your HTML and CSS (which could be effected by script if you don't have direct HTML/CSS control).
I would split each '.block li' element into two elements: one that will be the background element that can be animated with $.fadeTo(), and another element laid over the top that will contain your foreground content and on which you can call $.hover() with your handlers.
$(".block li").hover(
功能(){
$(this).animate({backgroundColor: "#000"});
},
功能(){
$(this).animate({backgroundColor: $(this).parent().css("backgroundColor") });
}
);
$(".block li").hover(
function(){
$(this).animate({backgroundColor: "#000"});
},
function(){
$(this).animate({backgroundColor: $(this).parent().css("backgroundColor") });
}
);
我从以下位置找到了此问题的解决方案这个链接
I got a solution to this issue from this link