更改鼠标悬停时的背景颜色并在鼠标移开后将其删除
我有一个表,其类别是forum
。我的 jquery 代码:
<script type="text/javascript">
$(document).ready(function() {
$('.forum').bind("mouseover", function(){
var color = $(this).css("background-color");
$(this).css("background", "#380606");
$(this).bind("mouseout", function(){
$(this).css("background", color);
})
})
})
</script>
它完美地工作,但是是否可以在没有 var color = $(this).css("background-color");
的情况下以更有效的方式完成它。在mouseout
之后保留之前的背景颜色并删除#380606
?谢谢。
I have table which class is forum
. My jquery code:
<script type="text/javascript">
$(document).ready(function() {
$('.forum').bind("mouseover", function(){
var color = $(this).css("background-color");
$(this).css("background", "#380606");
$(this).bind("mouseout", function(){
$(this).css("background", color);
})
})
})
</script>
It perfectly works, but is it possible to do it in more efficient way without var color = $(this).css("background-color");
. Just after mouseout
leave the previous background-color and remove #380606
? Thank you.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
如果你不关心 IE ≤ 6,你可以使用纯 CSS ...
对于 jQuery,通常最好为此样式创建一个特定的类:
然后在鼠标悬停时应用该类,并在鼠标移开时将其删除。
如果您必须不修改该类,您可以将原始背景颜色保存在
.data()
中:或者
If you don't care about IE ≤6, you could use pure CSS ...
With jQuery, usually it is better to create a specific class for this style:
and then apply the class on mouseover, and remove it on mouseout.
If you must not modify the class, you could save the original background color in
.data()
:or
在 CSS 文件中设置原始背景颜色:
您不必在 jQuery 中捕获原始颜色。请记住,jQuery 将更改 INLINE 样式,因此通过将背景颜色设置为 null,您将获得相同的结果。
Set the original background-color in you CSS file:
You don't have to capture the original color in jQuery. Remember that jQuery will alter the style INLINE, so by setting the background-color to null you will get the same result.
试试这个,它有效且简单
HTML
Javascript
css
现场演示
http://jsfiddle.net/caBzg/
Try this , its working and simple
HTML
Javascript
css
live demo
http://jsfiddle.net/caBzg/
这应该直接在 CSS 中设置。
如果您担心 IE6 不接受悬停在非链接元素上,您可以使用 hover jQuery 事件以实现兼容性。
This should be set directly in the CSS.
If you are worried about the fact the IE6 will not accept hover over elements which are not links, you can use the hover event of jQuery for compatibility.
HTML:
jQuery:
HTML:
jQuery:
经过一番努力终于成功了。 (经过完美测试)
下面的示例还将支持这样一个事实:已单击按钮的颜色不应更改
JQuery 代码
After lot of struggle finally got it working. ( Perfectly tested)
The below example will also support the fact that color of already clicked button should not be changes
JQuery Code
这是我的解决方案:
This is my solution :