2013-03-21 67 views
1

怎么样,我试图创建这个功能的好方法是什么?如何创建一个带有多个.click()函数的jQuery函数?

my_script.js

$(document).ready(function() { 


    $("#home").click(function() { 
     $('.banner').animate({top:'370px', height:'250px', }, 1000) 
     return false  
    }) 

    $("#about").click(function() { 
     $('.banner').animate({top:'20px', height:'145px', }, 1000) 
     return false 
    }) 


    $("#games").click(function() { 
     $('.banner').animate({top:'20px', height:'145px', }, 1000) 
     return false 
    }) 

    $("#district").click(function() { 
     $('.banner').animate({top:'20px', height:'145px', }, 1000) 
     return false 
    }) 

    $("#contact").click(function() { 
     $('.banner').animate({top:'20px', height:'145px', }, 1000) 
     return false 
    }) 


}) 

如果一个ID [ “约”, “接触”, “区”, “游戏”, “会员制”] - 被点击,我想动画的一些东西。但是,如果id =“home”,我想要动画(或不动画,如果在该页面上有alreade)它回来。

显然,这个代码我张贴doesen't工作。但是,你们会建议什么样的方法?我应该把横幅广告的ID设置为数组中的页面顶部并循环播放吗? (如何看起来像)或者我应该创建很多不同的功能,每个ID一个,像现在一样?

/W

回答

1

分配共同class而不是使用ids除了回家,因为你所有项目的其他然后回家相同的代码。

$("#home").click(function() { 
    $('.banner').animate({top:'370px', height:'250px', }, 1000) 
    return false;  
}); 

$(".commonclassexcepthome").click(function() { 
    $('.banner').animate({top:'370px', height:'250px', }, 1000) 
    return false;  
}); 
1

你可以尝试这样的

$("#home").click(function() { 
    $('.banner').animate({top:'370px', height:'250px', }, 1000) 
    return false;  
}); 

$("#about,#contact,#games,#district").click(function() { 
    $('.banner').animate({top:'20px', height:'145px', }, 1000) 
    return false; 
}); 
+0

工作就像一个魅力。我之前尝试过类似的东西,但是因为它不起作用,所以obv不一样。 :) 谢谢您的回答! – 2013-03-21 11:04:02

0

只是做与参数,以一种功能,当您点击呼叫功能,并给予参数的位置,你把它简化

0

什么你重新看到here是编写上述代码的更好方法。 你说,你不想动画.banner如果你已经在该网页上(或者这仅适用于主页?),所以如果点击的项目有class="active"

注意该函数将返回false:我没测试代码,因为我没有剩下的代码。

相关问题