Javascript 在切换之间交换图标图像
我有两个不同的图标,一个负号和一个加号。页面加载时,所有Javascript 在切换之间交换图标图像,javascript,jquery,css,toggle,Javascript,Jquery,Css,Toggle,我有两个不同的图标,一个负号和一个加号。页面加载时,所有.project name块都有一个加号。当有人点击一个项目标题时,我想让减号显示它已经打开 我尝试了以下几点: $('.project-name-title').click(function() { var relative = $(this).next('.project-name-block-container'); if (!relative.hasClass('opened')) { $('
.project name块
都有一个加号。当有人点击一个项目标题时,我想让减号显示它已经打开
我尝试了以下几点:
$('.project-name-title').click(function() {
var relative = $(this).next('.project-name-block-container');
if (!relative.hasClass('opened')) {
$('.opened').slideUp(500).removeClass('opened');
relative.addClass('opened minus-icon').slideDown();
} else {
relative.slideUp(500).removeClass('opened add-icon');
}
return false;
});
但这并没有奏效。我做错了什么
$('.project name title')。单击(函数(){
var-relative=$(this.next('.project-name-block-container');
如果(!relative.hasClass('opened')){
$('.opened').slideUp(500).removeClass('opened');
relative.addClass('opened').slideDown();
}否则{
relative.slideUp(500).removeClass('opened');
}
返回false;
});代码>
#项目节容器{
高度:自动;
宽度:60%;
}
.项目名称块容器{
显示:无;
}
.项目名称块{
边框顶部:1px实心#8585;
宽度:100%;
填充:50px0;
文本对齐:居中;
}
.项目名称及名称{
颜色:#072919;
字号:2em;
光标:指针;
显示:块;
}
.添加图标{
左边距:10px;
高度:20px;
宽度:20px;
}
.负号图标{
显示:无;
}
.项目名称说明{
字号:1em;
边缘顶部:25px;
}
/*.project-name-description.active{
显示:块;
}*/
/*--项目图像---*/
.项目图像容器{
宽度:90%;
利润率:50px5%;
}
.img项目{
宽度:30%;
高度:自动;
}
.project-img.left{
保证金权利:10%;
}
.project-img.对{
左边距:10%;
}
项目1
这是项目1的文本
项目2
这是项目2的文本
项目3
这是项目3的文本
项目4
这是项目4的文本
项目5
这是项目5的文本
将打开的
类添加到内容的标题中,然后您可以使用该标题使用css显示/隐藏相关图标:-
.opened .minus-icon,
.add-icon {
margin-left: 10px;
height: 20px;
width: 20px;
display: inline;
}
.opened .add-icon,
.minus-icon {
display: none;
}
此外,您需要为每个图像添加负号图像,而不仅仅是第一个图像
$('.project name title')。单击(函数(){
var相对=$(此);
如果(!relative.hasClass('opened')){
$('.opened').removeClass('opened').next('.project name block container').slideUp(500);
relative.addClass('opened').next('project name block container').slideDown();
}否则{
relative.removeClass('opened').next('project name block container').slideUp(500);
}
返回false;
});代码>
#项目节容器{
高度:自动;
宽度:60%;
}
.项目名称块容器{
显示:无;
}
.项目名称块{
边框顶部:1px实心#8585;
宽度:100%;
填充:50px0;
文本对齐:居中;
}
.项目名称及名称{
颜色:#072919;
字号:2em;
光标:指针;
显示:块;
}
.打开。减去图标,
.添加图标{
左边距:10px;
高度:20px;
宽度:20px;
显示:内联;
}
.打开。添加图标,
.负号图标{
显示:无;
}
.项目名称说明{
字号:1em;
边缘顶部:25px;
}
/*.project-name-description.active{
显示:块;
}*/
/*--项目图像---*/
.项目图像容器{
宽度:90%;
利润率:50px5%;
}
.img项目{
宽度:30%;
高度:自动;
}
.project-img.left{
保证金权利:10%;
}
.project-img.对{
左边距:10%;
}
项目1
这是项目1的文本
项目2
这是项目2的文本
项目3
这是项目3的文本
项目4
这是项目4的文本
项目5
这是项目5的文本
您的相对对象是内部div,而不是图像。添加$(this.find('.addicon').hide()$(this.find('.减号图标').show()代码>当您需要显示负号和<代码>$(this).find('.add icon').show()时$(this.find('.减号图标').hide()代码>其他方式谢谢!唯一的问题是,我的原始代码允许我通过单击标题关闭打开的面板,这不允许我,除非我单击另一个面板。知道如何使该功能恢复工作吗?感谢帮助!