简体   繁体   English

显示和隐藏一个问题的文本功能。 如何删除最初的“少展示”元素?

[英]Show and hide text feature with one issue. How to remove the initial “show less” element?

The code functions the way that it should.代码按应有的方式运行。

I am having a hard time figuring out how to initially hide the "show less" button from the display.我很难弄清楚如何最初从显示屏上隐藏“少显示”按钮。

All i'm doing here is grabbing the first paragraph and hiding the rest to show once the continue reading button is clicked.我在这里所做的只是抓住第一段并隐藏 rest 以在单击继续阅读按钮后显示。 However the show less button is on the display initially.但是,显示较少按钮最初显示在显示屏上。 I would like to figure out how to remove it.我想弄清楚如何删除它。 I tried taking it away in the.html method but then it never shows up at all.我尝试在.html 方法中将其拿走,但它根本没有出现。

Any suggestions?有什么建议么?

 jQuery(function() { //Read more / read less text functionality. Add "minimize" to any paragraph of text. var wrapPara = jQuery('.minimize p').nextAll().wrapAll('<div class="hide-body">'); var minimized_elements = jQuery('.minimize > p:first-child'); var continueReading = '<a href="#" class="btn btn-success mr-3 more">Continue reading</a>'; var showLess = '<a href="#" class="btn btn-success less">Show less</a>'; minimized_elements.each(function() { jQuery(this).html( minimized_elements.text() + '<span>... </span>' + continueReading + " " + showLess ).appendTo(".minimize"); }); jQuery('a.more', minimized_elements).click(function(event) { event.preventDefault(); jQuery(this).toggle(); jQuery(this).next().show(); jQuery(".hide-body").show(); }); jQuery('a.less', minimized_elements).click(function(event) { event.preventDefault(); jQuery(this).toggle(); jQuery(this).prev().show().prev().show(); jQuery(".hide-body").hide(); jQuery(".less").show(); }); });
 .hide-body { display: none; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="minimize"> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus tenetur minus omnis expedita at possimus est mollitia iste dignissimos amet ipsam, magni nam eum ipsa explicabo qui, cumque totam repellat. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus tenetur minus omnis expedita at possimus est mollitia iste dignissimos amet ipsam, magni nam eum ipsa explicabo qui, cumque totam repellat Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus tenetur minus omnis expedita at possimus est mollitia iste dignissimos amet ipsam, magni nam eum ipsa explicabo qui, cumque totam repellat</p> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ea hic recusandae tenetur eos harum accusamus, fugiat quas quasi nulla nobis, sed tempora eveniet consequatur. Enim autem recusandae, iste est aut.</p> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus tenetur minus omnis expedita at possimus est mollitia iste dignissimos amet ipsam, magni nam eum ipsa explicabo qui, cumque totam repellat.</p> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ea hic recusandae tenetur eos harum accusamus, fugiat quas quasi nulla nobis, sed tempora eveniet consequatur. Enim autem recusandae, iste est aut.</p> </div>

You want Show less link initially hidden, so just add style="display:none;"您希望Show less最初隐藏链接,因此只需添加style="display:none;" in its html like below.在其html中,如下所示。

var showLess = '<a href="#" class="btn btn-success less" style="display:none;">Show less</a>';

Moreover I think once user expands the paragraph and then click on Show less it should hide that link.此外,我认为一旦用户展开段落然后单击Show less它应该hide该链接。 So I've commented jQuery(".less").show();所以我评论jQuery(".less").show(); line.线。

Complete code is below.完整代码如下。 You can test it.你可以测试一下。

 jQuery(function() { //Read more / read less text functionality. Add "minimize" to any paragraph of text. var wrapPara = jQuery('.minimize p').nextAll().wrapAll('<div class="hide-body">'); var minimized_elements = jQuery('.minimize > p:first-child'); var continueReading = '<a href="#" class="btn btn-success mr-3 more">Continue reading</a>'; var showLess = '<a href="#" class="btn btn-success less" style="display:none;">Show less</a>'; minimized_elements.each(function() { jQuery(this).html( minimized_elements.text() + '<span>... </span>' + continueReading + " " + showLess ).appendTo(".minimize"); }); jQuery('a.more', minimized_elements).click(function(event) { event.preventDefault(); jQuery(this).toggle(); jQuery(this).next().show(); jQuery(".hide-body").show(); }); jQuery('a.less', minimized_elements).click(function(event) { event.preventDefault(); jQuery(this).toggle(); jQuery(this).prev().show().prev().show(); jQuery(".hide-body").hide(); // jQuery(".less").show(); // Commented to hide show less link once it clicked. }); });
 .hide-body { display: none; }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <div class="minimize"> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus tenetur minus omnis expedita at possimus est mollitia iste dignissimos amet ipsam, magni nam eum ipsa explicabo qui, cumque totam repellat. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus tenetur minus omnis expedita at possimus est mollitia iste dignissimos amet ipsam, magni nam eum ipsa explicabo qui, cumque totam repellat Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus tenetur minus omnis expedita at possimus est mollitia iste dignissimos amet ipsam, magni nam eum ipsa explicabo qui, cumque totam repellat</p> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ea hic recusandae tenetur eos harum accusamus, fugiat quas quasi nulla nobis, sed tempora eveniet consequatur. Enim autem recusandae, iste est aut.</p> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Doloribus tenetur minus omnis expedita at possimus est mollitia iste dignissimos amet ipsam, magni nam eum ipsa explicabo qui, cumque totam repellat.</p> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ea hic recusandae tenetur eos harum accusamus, fugiat quas quasi nulla nobis, sed tempora eveniet consequatur. Enim autem recusandae, iste est aut.</p> </div>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM