我需要一些帮助来创建一个为所选元素做同样事情的函数。
我有#design1#design1servicetext和#design1servicebutton。
代码:
//Service hover//
$('#design1').mouseenter(function (){
$('#design1servicetext').css('background-position', '0 -91px')
$('#design1servicebutton').css('background-position', '0 -33px')
})
.mouseleave(function (){
$('#design1servicetext').css('background-position', '0 0px')
$('#design1servicebutton').css('background-position', '0 0px')});
//Service hover end//
如何创建一个函数,我必须选择3个div才能制作动画?
我想要一个像
这样的功能animatebg('#design1','#design1servicetext','#design1servicebutton');
有人可以帮帮我吗?我已经尝试了很多功能教程,但没有一个能用于我想做的事情。非常感谢你提前了!
答案 0 :(得分:1)
function animatebg(param1,param2,param3){
$("#"+param1).mouseenter(function (){
$("#"+param2).css('background-position', '0 -91px')
$("#"+param3).css('background-position', '0 -33px')
})
.mouseleave(function (){
$("#"+param2).css('background-position', '0 0px')
$("#"+param3).css('background-position', '0 0px')});
}
答案 1 :(得分:1)
嗯,试试这个:
function animatebg( jq1, jq2, jq3 ) {
$('#'+jq1).mouseenter(function() {
$('#'+jq2).css('background-position', '0 -91px')
$('#'+jq3).css('background-position', '0 -33px')
}).mouseleave(function() {
$('#'+jq2).css('background-position', '0 0px')
$('#'+jq3).css('background-position', '0 0px')});
}
答案 2 :(得分:0)
我做了一个无限参数函数,因此您可以选择更少或更多的选择器,请参阅完整示例的链接http://jsfiddle.net/AcUCm/
这里有我的功能:
function animatebg() {
for (var i = 0; i < arguments.length; i++) {
var val = arguments[i].toString();
$(val).live('mouseenter', function() {
$(this).css('background-position', '0 -91px')
$(this).css('background-position', '0 -33px')
}).live('mouseleave', function() {
$(this).css('background-position', '0 0px')
$(this).css('background-position', '0 0px')
});
}
}
用法(准备好文件)
$(function() {
animatebg('#design1', '#design1servicetext', '#design1servicebutton');
});