我有一个用bootstrap创建的布局,有这个“阅读更多”按钮来扩展文本。当文本扩展时,它会变得“显示更少”。我的问题是,当用户单击“显示更少”按钮时,button-text首先变回“阅读更多”,只有THEN文本(段落)是崩溃的。而且这个时间差是明显的。但是有没有办法让按钮在文本折叠后改变它的文本,或者以某种方式使这个时间差不那么明显呢?
在我的js文件中,只有按钮文本更改的代码,而文本切换完全是在 Bootstrap 上,也许我不应该为这个特定的按钮使用 Bootstrap ?
请注意,我的问题并不是将按钮文本从“阅读更多”更改为“显示更少”本身,我知道有很多解决方案。
“阅读更多”按钮的标记:
<p>Initial text
<span id="moreText" class="collapse">more text here...</span>
<a id="readMore" data-toggle="collapse" href="#moreText">
Read More
</a>
</p>
JS为按钮:
$(function() {
$('#readMore').click(function() {
$(this).text(function(i,def) {
return def=='Read More' ? 'Show Less' : 'Read More';
});
})
});
3条答案
按热度按时间wbrvyc0a1#
我有同样的问题,我解决了它通过一点css和Bootstrap 4
此处示例-〉Read Less - Bootstrap 4
wswtfjt72#
使用collapse事件,看起来
hidden.bs.collapse
是你所需要的,因为它在元素关闭后触发。查看文档以了解详细信息。xqk2d5yq3#
HTML程式码:
JS代码: