我的问题是出于好奇,我很欣赏任何性能差异都可能是微不足道的。
我最近正在研究为图像地图制作一些悬停效果。与大多数其他人建议的使用 jQuery 的方法一样。以下是建议代码
$('#borders area').each(function(){
var mapRegion = $(this).attr('class');
$(this).hover(
function(){
$('#regions').addClass(mapRegion).show();
},
function(){
$('#regions').hide().removeClass(mapRegion);
});
});
这显然在<div id="regions">
绝对位于底座上方的情况下工作正常,<img>
并且另一个空白透明<img>
放置在此上方用于<map id="borders">
.
但是,我确实想知道使用 jQuery 执行以下操作是否更有意义(代码略少)
$('#borders area').each(function(){
$(this).hover(
function(){
$('#regions').removeClass().addClass($(this).attr('class')).show();
},
function(){
$('#regions').hide();
});
});
由于没有设置变量,这会更快吗?如果没有提供参数,removeClass() 会更快吗?我想我也有兴趣知道哪个语义被认为更好。