如何在javascript中以正确的方式编写此代码
我为动画css动画编写了这段代码。共有四个项目,当我单击其中一个项目时,其中一个项目是动画,其他项目将返回。我需要知道如何简化此代码。在不更改html的情况下,您可以执行以下操作:如何在javascript中以正确的方式编写此代码,javascript,css,Javascript,Css,我为动画css动画编写了这段代码。共有四个项目,当我单击其中一个项目时,其中一个项目是动画,其他项目将返回。我需要知道如何简化此代码。在不更改html的情况下,您可以执行以下操作: $("#wedding").click(function() { $(".wedding, .wedding div").addClass("menuclick"); $(".homecoming div, .ourstory div, .weddingcrew div").rem
$("#wedding").click(function() {
$(".wedding, .wedding div").addClass("menuclick");
$(".homecoming div, .ourstory div, .weddingcrew div").removeClass("menuclick");
});
$("#homecoming").click(function() {
$(".homecoming, .homecoming div").addClass("menuclick");
$(".wedding div, .ourstory div, .weddingcrew div").removeClass("menuclick");
});
$("#ourstory").click(function() {
$(".ourstory, .ourstory div").addClass("menuclick");
$(".wedding div, .homecoming div, .weddingcrew div").removeClass("menuclick");
});
$("#weddingcrew").click(function() {
$(".weddingcrew, .weddingcrew div").addClass("menuclick");
$(".wedding div, .ourstory div, .homecoming div").removeClass("menuclick");
});
这取决于您的元素ID与它们关联的元素上的对应类完全相同这一事实
如果您可以添加一个公共类,比如说class=“menu”
到#婚礼、#返校节
等项中,那么您可以将初始选择器简化为$(.menu”)
注意:如果您使用的是jQuery v1.8或更高版本,而不是。而不更改html,则可以执行以下操作:
$("#wedding").click(function() {
$(".wedding, .wedding div").addClass("menuclick");
$(".homecoming div, .ourstory div, .weddingcrew div").removeClass("menuclick");
});
$("#homecoming").click(function() {
$(".homecoming, .homecoming div").addClass("menuclick");
$(".wedding div, .ourstory div, .weddingcrew div").removeClass("menuclick");
});
$("#ourstory").click(function() {
$(".ourstory, .ourstory div").addClass("menuclick");
$(".wedding div, .homecoming div, .weddingcrew div").removeClass("menuclick");
});
$("#weddingcrew").click(function() {
$(".weddingcrew, .weddingcrew div").addClass("menuclick");
$(".wedding div, .ourstory div, .homecoming div").removeClass("menuclick");
});
这取决于您的元素ID与它们关联的元素上的对应类完全相同这一事实
如果您可以添加一个公共类,比如说class=“menu”
到#婚礼、#返校节
等项中,那么您可以将初始选择器简化为$(.menu”)
如果您使用的是jQuery v1.8或更高版本,请使用而不是。什么是
menuclick
css类?将css代码显示到什么是menuclick
css类?将css代码显示到$('.menuclick').removeClass(“menuclick”)
如何收紧它?如果它没有在其他地方使用…好计划@WesleyMurch-答案更新为使用此。显然,如果将menuclick
用于其他不相关的元素,则函数中的第一行必须是$(“.wedding、.homecoming、.ourstory、.weddingcrew”).find(“div”).andSelf().removeClass(“menuclick”)
.this.id
选择什么。@MuhammadUmer-当jQuery调用事件处理程序时,它将this
设置为“当前”元素,即事件发生的元素(在本例中为单击的元素)。因此,您可以将一个处理程序绑定到多个元素,然后使用this
判断单击了哪个元素。然后this.id
显然给出了元素的id。好吧,我在“+this.id
中得到this.id
部分,但不是>”+
。$('.menuclick')。removeClass(“menuclick”)
来收紧它怎么样?如果它没有在其他地方使用…好计划@WesleyMurch-答案更新为使用此。显然,如果将menuclick
用于其他不相关的元素,则函数中的第一行必须是$(“.wedding、.homecoming、.ourstory、.weddingcrew”).find(“div”).andSelf().removeClass(“menuclick”)
.this.id
选择什么。@MuhammadUmer-当jQuery调用事件处理程序时,它将this
设置为“当前”元素,即事件发生的元素(在本例中为单击的元素)。因此,您可以将一个处理程序绑定到多个元素,然后使用this
判断单击了哪个元素。然后this.id
显然给出了该元素的id。好的,我得到this.id
部分,但不是“+
”+this.id