Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中以正确的方式编写此代码_Javascript_Css - Fatal编程技术网

如何在javascript中以正确的方式编写此代码

如何在javascript中以正确的方式编写此代码,javascript,css,Javascript,Css,我为动画css动画编写了这段代码。共有四个项目,当我单击其中一个项目时,其中一个项目是动画,其他项目将返回。我需要知道如何简化此代码。在不更改html的情况下,您可以执行以下操作: $("#wedding").click(function() { $(".wedding, .wedding div").addClass("menuclick"); $(".homecoming div, .ourstory div, .weddingcrew div").rem

我为动画css动画编写了这段代码。共有四个项目,当我单击其中一个项目时,其中一个项目是动画,其他项目将返回。我需要知道如何简化此代码。

在不更改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或更高版本,而不是。

而不更改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