[英]JS toggleClass right way
我有这个项目,当我单击植物时,比例会发生变化并显示一些文本。
http://www.gaianet.com.br/Nissin-teste/
我有这个项目,我应该点击一个行星并缩放它,并通过不透明度显示另一个div。
现在,我一直在尝试使用切换类通过js进行操作,但是我需要一些帮助以使其正常工作。
如果我单击第一个行星,它会很好,但是当“选择”这个行星,然后单击另一个行星时,所有类开始混乱,缩放和不透明度变得疯狂。我不知道如何进行“重置”如果我已经更改了类别,则单击另一颗行星,则为原始CSS。
$(".layer.planeta1").click(function(){
$(".institucional").toggleClass("escala-planeta repo1-1");
$(".planet-info1").toggleClass("opacidade-planeta ");
$(".educacao").toggleClass("escala-menor-planeta repo1-2");
$(".pdv").toggleClass("escala-menor-planeta repo1-3");
});
$(".layer.planeta2").click(function(){
$(".educacao").toggleClass("escala-planeta repo-2-1");
$(".planet-info2").toggleClass("opacidade-planeta ");
$(".institucional").toggleClass("escala-menor-planeta repo-2-2");
$(".pdv").toggleClass("escala-menor-planeta repo-2-3");
});
$(".layer.planeta3").click(function(){
$(".pdv").toggleClass("escala-planeta");
$(".planet-info3").toggleClass("opacidade-planeta ");
$(".educacao").toggleClass("escala-menor-planeta");
$(".institucional").toggleClass("escala-menor-planeta");
});
我确定应该有更好的方法来做到这一点,但我不知道如何做。 非常感谢
我认为我对接受标准很清楚,但可以肯定的是,我要处理的是:
鉴于此,您可以尝试更明确地了解单击“行星”时需要发生的情况:
$('.planet').on('click', function(event){
$('.planet').removeClass('scale'); // Explicitly remove the scale class from other planets
$(this).toggleClass('scale'); // Scale the one I am clicking on, or if it's already scaled, revert it
});
一个简化的示例演示: http : //codepen.io/anon/pen/xbMJRd
如果使用它会造成很多麻烦,那么我将使用jQuery addClass和removeClass而不是toggleClass。
另一个建议是,我将jQuery dom元素保存在变量中,这样我就不会一次又一次地搜索整个dom。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.