用slideToggle添加/移除类
Adding / removing class with slideToggle
本文关键字:slideToggle 添加 更新时间:2023-09-26
当点击标题时,菜单(ul/li)使用slideToggle向下/向上滑动。作为标题的背景,如果菜单不可见,我有一个箭头指向下,否则向上(我有两个类,'箭头向上'和'箭头向下'的背景)。
下面是我尝试过的,但它不起作用。什么是好的解决方案?
$j('h3.sub-menu-dropdown-btn').click(function(){
if ($j('ul').is(":visible")) {
$j(this).removeClass('arrow-up');
$j(this).addClass('arrow-down');
} else {
$j(this).removeClass('arrow-down');
$j(this).addClass('arrow-up');
}
$j('.sub-menu-dropdown').slideToggle('fast');
});
你可以试试,看看是否符合你的需求:
$j('h3.sub-menu-dropdown-btn').click(function(){
var $self = $j(this);
$j('.sub-menu-dropdown').slideToggle('fast', function(){
$self.toggleClass('arrow-up arrow-down');
});
});
尝试使用hasClass(): https://api.jquery.com/hasClass/
$j('h3.sub-menu-dropdown-btn').click(function(){
if ($j('ul').hasClass('arrow-up')) {
$j(this).removeClass('arrow-up');
$j(this).addClass('arrow-down');
} else {
$j(this).removeClass('arrow-down');
$j(this).addClass('arrow-up');
}
$j('.sub-menu-dropdown').slideToggle('fast');
});
此外,如果没有看到html标记,我无法验证这一点,选择器$j('ul')
可能太通用了。
您需要像这样使用:
if($j("ul").is(":visible")==true){
相关文章:
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在映射数组中添加换行符
- 正在将数据主题添加到所有项目
- ZeroClipboard-在复制之前添加到值
- 我可以在json对象中添加一个函数吗
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何添加浮动和非浮动,其他
- 添加文字和评论功能更新Div
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 在函数中添加数组元素的数值
- 如何将歌曲添加到jPlayer
- 在html Select中添加搜索
- Java脚本时间添加
- FabricJs-限制主对象内添加对象的移动区域
- jQuery,slideToggle-添加Cookie以记住状态
- slideToggle添加display: block的问题
- jQuery slideToggle添加空格
- 用slideToggle添加/移除类