javascript - 如何组合两个点击功能?

标签 javascript jquery query-performance

我有两个点击功能...有点像下面。这是工作。但是,我有一种感觉,出于优化的原因,点击功能可以合并为一个。基本上,当单击 xx 时,它会显示一些元素,隐藏一些元素,并添加一个类。单击 yy 时,它的作用正好相反。这些可以结合吗?

/*clicking the search icon on the top*/ 
$(".xx").on("click",function(){
        $a.show();
        $b.hide();
        $c.addClass("myClass");

}); 

/*clicking the cross icon on the top*/
$(".yy").on("click",function(){
        $c.removeClass("myClass");
        $a.hide();
        $b.show();                  
});

最佳答案

是的,您可以将它们组合成一个函数。当您隐藏、显示和向某些元素添加类时,您必须检查被单击的相应元素。这是代码:

$(".xx, .yy").on("click", function(){
    if($(this).hasClass("xx")){
       $a.show();
       $b.hide();
       $c.addClass("myClass");
    }else if($(this).hasClass("yy")){
       $c.removeClass("myClass");
       $a.hide();
       $b.show();
    }
});

就是这样。

关于javascript - 如何组合两个点击功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25458314/

相关文章:

javascript - 如何在回调中调用对象的键?

javascript - Chrome 书签可以包含大量 JavaScript 吗?

sql - DISTINCT 与 PARTITION BY 对比 GROUPBY

performance - 为什么搜索词的微小变化会大大减慢查询速度?

javascript - 我的 AngularJS 代码不起作用

javascript - 为什么直接在 function 上添加方法不能像 function.prototype 那样工作?

javascript - Mac OS 上的 Electron 托盘应用程序位置

jquery - 在 jQuery 集合上运行 reduce()

javascript - 如何在循环中使用 jQuery 和带参数的 JSON 生成动态 HTML?

mysql - 优化 - 从循环内的 TEMP TABLE 中进行选择以获取 JSON 值的平均值的函数