javascript - 如何缩短这个函数(addClass,attr)

标签 javascript jquery raphael

t1$('#t1')不是相同的对象时,如何缩短以下代码?

k1.hover(function(){
    $('#k1').addClass('hovered');
}, function(){
    $('#k1').removeClass('hovered');
});

k2.hover(function(){
    $('#k2').addClass('hovered');
}, function(){
    $('#k2').removeClass('hovered');
});

k3.hover(function(){
    $('#k3').addClass('hovered');
}, function(){
    $('#k3').removeClass('hovered');
});

k4.hover(function(){
    $('#k4').addClass('hovered');
}, function(){
    $('#k4').removeClass('hovered');
});

k5.hover(function(){
    $('#k5').addClass('hovered');
}, function(){
    $('#k5').removeClass('hovered');
});

我正在考虑这样的事情:

var magictrick = k[number].hover(function(){
  $('#k[number]').addClass('hovered');
}, function(){
  $('#k[number]').removeClass('hovered');
});

magicktrick[1,2,3,4,5,6,7,8,9];

这可能吗?

最佳答案

// t1 hover
$('#t1').hover(function(){
    t1.attr({fill: '#8b2332'}).addClass('hovered');
}, function(){
    t1.attr({fill: '#e6e6e6'}).removeClass('hovered');
});


// t2 hover
$('#t2').hover(function(){
    t2.attr({fill: '#8b2332'}).addClass('hovered');
}, function(){
    t2.attr({fill: '#e6e6e6'}).removeClass('hovered');
});

关于javascript - 如何缩短这个函数(addClass,attr),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35560811/

相关文章:

javascript - 如何使用 jQuery/Ajax 更改基于变量的成功函数的输出?

javascript - 在 Node.js 中管道化 setTimeout

javascript - 如何查询firebase的多对多关系?

Asp.Net Ajax - 调用非静态方法

javascript - 调整大小时如何计算图像的宽度和高度值?

javascript - 在 Meteor 的客户端上显示服务器时间

javascript - 使用 jquery 检查元素内部有一些元素

javascript - raphaeljs 如何限制具有约束运动的元素拖动(在父边界框内)

javascript - 如何使用 JavaScript 和 Raphael 旋转之前拖动的 SVG 对象?

image - raphael.js 裁剪图像