首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在鼠标悬停时添加边框

问在鼠标悬停时添加边框
EN

Stack Overflow用户
提问于 2009-06-04 05:55:58
回答 4查看 27.2K关注 0票数 3

我想让一个表格边框(我可以使用css设置,而不是内联border=属性)设置为边框: 1px纯黑;当我将鼠标移到表格上时。

我该如何在jQuery中做到这一点。我认为这与页面顶部的按钮(问题、标签、用户等)的变化相同,只是div的背景颜色发生了变化,而我想要改变表格的边框。但概念是一样的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-06-04 06:09:38

对于悬停效果,jQuery提供了hover()伪事件,它的行为比moueseenter/mouseleave更好。此外,最好为每个状态(正常和悬停)创建一个CSS类,然后在悬停时更改类:

代码语言:javascript
复制
$(document).ready(function() {
    $("#tableid").hover(
        function() { $(this).addClass("Hover"); },
        function() { $(this).removeClass("Hover"); }
    );
});

您的CSS可能如下所示:

代码语言:javascript
复制
table.Hover { border: 1px solid #000; }
票数 11
EN

Stack Overflow用户

发布于 2009-06-04 06:09:53

交换表上的类可能比直接编辑CSS属性更好-这将是一个更具伸缩性/可扩展性的解决方案:

代码语言:javascript
复制
table {
   border:0;
}

table.border {
   border:1px solid #000;
}

当然,当添加边框时,你的表格会在1px的位置“跳转”,所以当你没有悬停时,最好使用边距或白色边框:

代码语言:javascript
复制
table {
   border:1px solid #fff;
}

table.border {
   border:1px solid #000;
}

或者更好的是,如果你不需要遵从IE6,你可以用纯CSS来做所有的事情:

代码语言:javascript
复制
table {
   border:1px solid #fff;
}

table:hover {
   border:1px solid #000;
}

这将是最好的/最简单的/可扩展的方法!

票数 2
EN

Stack Overflow用户

发布于 2009-06-04 06:02:33

在mouseenter and mouseleave events上查看这篇文章。

代码语言:javascript
复制
$("table#mytable").mouseenter(function(){
      $("table#mytable",this).css("border", "solid 1px black");
    }).mouseleave(function(){
      $("table#mytable",this).css("border", "o");
    });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/948781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档