我在不同的透明标签上使用mouseover和mouseleave来交换页面上的背景图像。如果我单击其中一个标记,函数将退出,鼠标悬停在背景图像上。单击时还会将div显示设置为block,这在css中设置为none。我有另一个点击函数,它将背景图像设置为原始背景图像,并将div重置为无显示。我知道有一种更有效的方法可以做到这一点,而不是编写这两个函数14次,但我不确定如何……
$(document).ready(function() {
$('.tips-number-14').on({
mouseover: function(){
$('.tips-numbers').css('backgroundImage','url(0-HTML-Resources/imgs/buying-a-car-2/tips-numbers-hover.png)'),
$('.tips-number-14').css('backgroundImage','url(0-HTML-Resources/imgs/buying-a-car-2/tip-14-number.png)');
},
mouseleave: function(){
$('.tips-numbers').css('backgroundImage','url(0-HTML-Resources/imgs/buying-a-car-2/tips-numbers.png)'),
$('.tips-number-14').css('backgroundImage','none');
},
click: function(){
$('.tip-14-info').css('display','block'),
$('.tips-number-14').off('mouseleave');
},
});
$('.close-info-14').on({
click: function(){
$('.tips-numbers').css('backgroundImage','url(0-HTML-Resources/imgs/buying-a-car-2/tips-numbers.png)'),
$('.tip-14-info').css('display','none');
},
});
});
发布于 2015-06-02 09:49:19
我不确定我是否完全理解了你的问题。但在我看来,你想对所有的'14‘标签都有相同的处理程序。您可以尝试指定选择器中的所有标记(逗号分隔):
$('.tips-number-14, .tips-number-13, .tips-number-12, ....').on({
// your code here
...
...
});
如果循环/元素的数量不断变化,还可以使用循环生成选择器字符串。
如果我误解了你的意思,一定要告诉我。
https://stackoverflow.com/questions/30585975
复制相似问题