【发布时间】:2022-01-24 22:17:13
【问题描述】:
我是 javascript 新手
我正在尝试设置“显示更多”按钮的样式。
我在它下面添加了一个文本和一个向下箭头,但是当我单击它时,显示更少的按钮“我不知道如何设置样式”出现隐藏内容,然后当我再次单击它时,显示更多按钮出现时没有图标或样式。
function toggleText() {
var showMoreText = document.getElementById("more");
var buttonText = document.getElementById("moreButton");
if (startpoint.style.display === "none") {
showMoreText.style.display = "none";
startpoint.style.display = "inline";
buttonText.innerHTML = "Show More";
} else {
showMoreText.style.display = "inline";
startpoint.style.display = "none";
buttonText.innerHTML = "Show Less";
}
}
.pink {
color: #FF7B5F;
}
#more {
display: none;
}
#moreButton {
background-color: transparent;
border-color: transparent;
}
<span id="startpoint"></span>
<span id="more">
<div class="clients BRANDING col-6 col-md-4 col-lg-3 col-lg-3">
<a href="#">
<figure class="filter-container">
<img class="img-fluid brand-img" src="./images/filter/logo" alt="Logo">
<figcaption class="product-desc"><P>text</P></figcaption>
<figcaption class="product-desc2"><h4>text</h4></figcaption>
</figure>
</a>
</div>
</span>
<button onclick="toggleText()" id="moreButton">
<p class="pink">Show More</p>
<img class="more" src="./images/downarrow" alt="arrow">
</button>
【问题讨论】:
-
Div 不是 span 的有效子代。
-
您正在更改按钮的 innerHTML。但是,该按钮包含其他元素,这些元素在您设置 innerHTML 时会被删除。其中一些已删除的元素是您的按钮的样式。
-
那么我该如何解决它
标签: javascript css bootstrap-5