Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用mouseover和mouseout代替:hover_Javascript_Css_Hover_Mouseover_Mouseout - Fatal编程技术网

Javascript 使用mouseover和mouseout代替:hover

Javascript 使用mouseover和mouseout代替:hover,javascript,css,hover,mouseover,mouseout,Javascript,Css,Hover,Mouseover,Mouseout,对于一个项目,我想模拟css:hover伪类,带有一个.hover类,我在mouseover和mouseout事件上添加/删除该类。 问题是,这对性能有多大影响,差异有多大? 下面是一个示例:性能取决于单个用户的计算机。除非禁用JavaScript,否则在任何机器上都很可能看不到任何差异。您可能希望考虑包括一些CSS,它将在用户无法禁用JavaScript的情况下对这一点进行补偿。 < P>您希望通过重写CSS在JavaScript中能做什么来实现这一点? JavaScript几乎总是比CS

对于一个项目,我想模拟css
:hover
伪类,带有一个
.hover
类,我在
mouseover
mouseout
事件上添加/删除该类。
问题是,这对性能有多大影响,差异有多大?

下面是一个示例:

性能取决于单个用户的计算机。除非禁用JavaScript,否则在任何机器上都很可能看不到任何差异。您可能希望考虑包括一些CSS,它将在用户无法禁用JavaScript的情况下对这一点进行补偿。

< P>您希望通过重写CSS在JavaScript中能做什么来实现这一点?

JavaScript几乎总是比CSS慢。在这种非常简单的情况下,它可能不会引起注意。然而,当你开始获得很多链接时(想想一个典型站点的链接数量;例如,StackOverflow在这个页面上就有大约100个链接;它加起来非常快),你就会开始明显地慢下来

其中一个主要原因是您必须启动JavaScript处理器,找到与JavaScript搜索匹配的所有元素,并向其中添加事件侦听器。此外,JavaScript对硬件加速的访问权限与CSS不同。当您开始包含CSS可以完成的转换和转换时,这开始成为一个主要因素

也不要忘记,要考虑到开发和维护时间。大多数人都希望你的行为会出现在CSS中。当他们在那里找不到它时,他们将不得不四处挖掘,然后通过JavaScript代码进行精神分析,以找到您的伪悬停代码。这需要更多的时间和精力花在其他事情上