Javascript 检查hasClass以添加类
我有一个从底部滑出的小面板。它有一个V形向上图标。我正在构建一个jquery代码段,它可以打开和关闭它,但它必须将V形从上到下改变 打开和关闭正在工作,V形在打开时会发生变化,但在关闭时不会重置回V形向上。我的条件语句有点不对劲 这就是我目前所拥有的Javascript 检查hasClass以添加类,javascript,jquery,Javascript,Jquery,我有一个从底部滑出的小面板。它有一个V形向上图标。我正在构建一个jquery代码段,它可以打开和关闭它,但它必须将V形从上到下改变 打开和关闭正在工作,V形在打开时会发生变化,但在关闭时不会重置回V形向上。我的条件语句有点不对劲 这就是我目前所拥有的 <script> $("#openchat").click(function(){ $("#floatingmenu").toggleClass("chatbox-open"); if ($(this).hasClas
<script>
$("#openchat").click(function(){
$("#floatingmenu").toggleClass("chatbox-open");
if ($(this).hasClass("chatbox-open")) {
$(this).removeClass("fa-chevron-up");
$(this).addClass("fa-chevron-down");
} else if (!$(this).hasClass("chatbox-open")) {
$(this).addClass("fa-chevron-down");
$(this).removeClass("fa-chevron-up");
}
});
</script>
$(“#openchat”)。单击(函数(){
$(“#浮动菜单”).toggleClass(“聊天室打开”);
if($(this).hasClass(“聊天室打开”)){
$(此).removeClass(“fa V形向上”);
$(此).addClass(“fa V形向下”);
}else if(!$(this).hasClass(“聊天室打开”)){
$(此).addClass(“fa V形向下”);
$(此).removeClass(“fa V形向上”);
}
});
我附上一份
顺便说一句,我的.chatbox开放类就是打开和关闭它的。其他类是图标的简单字体类
请提供任何帮助实际上您不需要该检查,因为如果
$(this).hasClass(“chatbox open”)
为false,它将直接转到else并执行它
<script>
$("#openchat").click(function(){
$("#floatingmenu").toggleClass("chatbox-open");
if ( $(this).hasClass("chatbox-open") ){
$(this).removeClass("fa-chevron-up");
$(this).addClass("fa-chevron-down");
} else {
$(this).addClass("fa-chevron-down");
$(this).removeClass("fa-chevron-up");
}
});
</script>
$(“#openchat”)。单击(函数(){
$(“#浮动菜单”).toggleClass(“聊天室打开”);
if($(this).hasClass(“聊天室打开”)){
$(此).removeClass(“fa V形向上”);
$(此).addClass(“fa V形向下”);
}否则{
$(此).addClass(“fa V形向下”);
$(此).removeClass(“fa V形向上”);
}
});
只需从else中删除
if(!$(this).hasClass(“聊天盒打开”)
您的代码只会进入else
,因为#openchat
从未在其他地方切换过它的类
你可以换成这个
$("#openchat").click(function () {
$("#floatingmenu").toggleClass("chatbox-open");
$(this).toggleClass("fa-chevron-up fa-chevron-down")
});
实例:您不需要检查
if(!$(this).hasClass(“聊天盒打开”)
简单的else块就足够了。我建议您简单地使用toggleClass()
就像$(this).toggleClass(“fa-chevron-up-fa-chevron-down”)
是否在#openchat
和#floatingmenu
元素上都打开了聊天室
类?看起来您正在为#floatingmenu
切换类聊天室打开
,并检查是否有#openchat
。无论如何,您必须提供最小列表示例代码来复制问题,例如JSFIDLE和问号中的所有相关HTML标记是的,底部的解决方案不起作用,将fa-chevron向上切换到fa-chevron向下会执行chevron切换,但不会执行打开和关闭操作,因为chatbox open类需要在打开和关闭之间切换。我再加一把小提琴。请给我一分钟时间构建一个quickQuestion。添加了代码笔演示如何解决OP的问题?