[英]Interchanging icon images between a toggle
I have two different icons, a minus sign and plus sign. 我有两个不同的图标,一个减号和一个加号。 Upon page load all of the
.project-name-block
's have a plus sign. 页面加载后,所有
.project-name-block
都带有加号。 When someone would click on a Project title, I want the minus sign to appear to show it has been opened. 当有人单击项目标题时,我希望出现减号以表明它已被打开。
I have tried doing the following: 我尝试执行以下操作:
$('.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;
});
But it doesn't do the trick. 但这并不能解决问题。 What am I doing wrong?
我究竟做错了什么?
$('.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').slideDown(); } else { relative.slideUp(500).removeClass('opened'); } return false; });
#project-section-container { height: auto; width: 60%; } .project-name-block-container { display: none; } .project-name-block { border-top: 1px solid #858585; width: 100%; padding: 50px 0; text-align: center; } .project-name-title { color: #072919; font-size: 2em; cursor: pointer; display: block; } .add-icon { margin-left: 10px; height: 20px; width: 20px; } .minus-icon { display: none; } .project-name-description { font-size: 1em; margin-top: 25px; } /*.project-name-description.active { display: block; }*/ /*--Project Images---*/ .project-image-container { width: 90%; margin: 50px 5%; } .project-img { width: 30%; height: auto; } .project-img.left { margin-right: 10%; } .project-img.right { margin-left: 10%; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <div id="project-section-container"> <div class="project-name-block"> <div class="project-name-title">Project 1 <img src="http://optimumwebdesigns.com/eslich/icons/add-icon.png" alt="View Demolition and Wrecking Projects" class="add-icon"><img src="icons/minus-icon.png" alt="" class="minus-icon"></div> <div class="project-name-block-container"> <div class="project-name-description">This is the text for Project 1</div> <div class="project-image-container"> <img src="images/projects/project1.jpg" alt="Demolition Project" class="project-img left"> <img src="images/projects/project2.jpg" alt="Demolition Project" class="project-img right"> </div> </div> </div> <div class="project-name-block"> <div class="project-name-title">Project 2 <img src="http://optimumwebdesigns.com/eslich/icons/add-icon.png" alt="View Demolition and Wrecking Projects" class="add-icon"></div> <div class="project-name-block-container"> <div class="project-name-description">This is the text for Project 2</div> </div> </div> <div class="project-name-block"> <div class="project-name-title">Project 3 <img src="http://optimumwebdesigns.com/eslich/icons/add-icon.png" alt="View Demolition and Wrecking Projects" class="add-icon"></div> <div class="project-name-block-container"> <div class="project-name-description">This is the text for Project 3</div> </div> </div> <div class="project-name-block"> <div class="project-name-title">Project 4 <img src="http://optimumwebdesigns.com/eslich/icons/add-icon.png" alt="View Demolition and Wrecking Projects" class="add-icon"></div> <div class="project-name-block-container"> <div class="project-name-description">This is the text for Project 4</div> </div> </div> <div class="project-name-block"> <div class="project-name-title">Project 5 <img src="http://optimumwebdesigns.com/eslich/icons/add-icon.png" alt="View Demolition and Wrecking Projects" class="add-icon"></div> <div class="project-name-block-container"> <div class="project-name-description">This is the text for Project 5</div> </div> </div> </div> </div>
add the opened
class to the title instead on the content, which you can then use to show/hide the relevant icon using css:- 将
opened
类添加到标题而不是内容上,然后可以使用css来显示/隐藏相关图标:-
.opened .minus-icon,
.add-icon {
margin-left: 10px;
height: 20px;
width: 20px;
display: inline;
}
.opened .add-icon,
.minus-icon {
display: none;
}
also, you need to add the minus image for each instead of just the first. 此外,您需要为每个图像添加减号图像,而不仅仅是第一个。
$('.project-name-title').click(function() { var relative = $(this); if (!relative.hasClass('opened')) { $('.opened').removeClass('opened').next('.project-name-block-container').slideUp(500); relative.addClass('opened').next('.project-name-block-container').slideDown(); } else { relative.removeClass('opened').next('.project-name-block-container').slideUp(500); } return false; });
#project-section-container { height: auto; width: 60%; } .project-name-block-container { display: none; } .project-name-block { border-top: 1px solid #858585; width: 100%; padding: 50px 0; text-align: center; } .project-name-title { color: #072919; font-size: 2em; cursor: pointer; display: block; } .opened .minus-icon, .add-icon { margin-left: 10px; height: 20px; width: 20px; display: inline; } .opened .add-icon, .minus-icon { display: none; } .project-name-description { font-size: 1em; margin-top: 25px; } /*.project-name-description.active { display: block; }*/ /*--Project Images---*/ .project-image-container { width: 90%; margin: 50px 5%; } .project-img { width: 30%; height: auto; } .project-img.left { margin-right: 10%; } .project-img.right { margin-left: 10%; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <div id="project-section-container"> <div class="project-name-block"> <div class="project-name-title">Project 1 <img src="http://optimumwebdesigns.com/eslich/icons/add-icon.png" alt="View Demolition and Wrecking Projects" class="add-icon"> <img src="icons/minus-icon.png" alt="" class="minus-icon"> </div> <div class="project-name-block-container"> <div class="project-name-description">This is the text for Project 1</div> <div class="project-image-container"> <img src="images/projects/project1.jpg" alt="Demolition Project" class="project-img left"> <img src="images/projects/project2.jpg" alt="Demolition Project" class="project-img right"> </div> </div> </div> <div class="project-name-block"> <div class="project-name-title">Project 2 <img src="http://optimumwebdesigns.com/eslich/icons/add-icon.png" alt="View Demolition and Wrecking Projects" class="add-icon"> </div> <div class="project-name-block-container"> <div class="project-name-description">This is the text for Project 2</div> </div> </div> <div class="project-name-block"> <div class="project-name-title">Project 3 <img src="http://optimumwebdesigns.com/eslich/icons/add-icon.png" alt="View Demolition and Wrecking Projects" class="add-icon"> </div> <div class="project-name-block-container"> <div class="project-name-description">This is the text for Project 3</div> </div> </div> <div class="project-name-block"> <div class="project-name-title">Project 4 <img src="http://optimumwebdesigns.com/eslich/icons/add-icon.png" alt="View Demolition and Wrecking Projects" class="add-icon"> </div> <div class="project-name-block-container"> <div class="project-name-description">This is the text for Project 4</div> </div> </div> <div class="project-name-block"> <div class="project-name-title">Project 5 <img src="http://optimumwebdesigns.com/eslich/icons/add-icon.png" alt="View Demolition and Wrecking Projects" class="add-icon"> </div> <div class="project-name-block-container"> <div class="project-name-description">This is the text for Project 5</div> </div> </div> </div> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.