【问题标题】:How to add read less button on my code after click on read more?单击阅读更多后如何在我的代码上添加阅读更少按钮?
【发布时间】:2019-09-30 07:07:57
【问题描述】:

我的代码需要一些帮助。

所以,我有一个“阅读更多”功能,但我在那个按钮上总是有“阅读更多”文本,我需要制作“阅读更多”-“阅读更少”文本,如何添加“阅读更少” " 文本到我的代码,点击后?

这是我的看法:

<span class="small2" style="max-height: 120px"  class="col-md-6" align="justify" >{{ $review->review_message }}</span>

这是我的脚本:

$(".small2").each(function () {
    text = $(this).text();
    if (text.length > 200) {
        $(this).html(text.substr(0, 100) + '<span class="elipsis">' + text.substr(100) + '</span><a class="elipsis" href="#">Read more</a>' + 'salut');
    }

});
$(".small2 > a.elipsis").click(function (e) {
    e.preventDefault(); //prevent '#' from being added to the url
    $(this).prev('span.elipsis').fadeToggle(500);
});

【问题讨论】:

标签: javascript html css


【解决方案1】:

请试一试:

$(".small2 > a.elipsis").click(function (e) {
    e.preventDefault(); //prevent '#' from being added to the url
    $(this).prev('span.elipsis').fadeToggle(500);

    if ( $(this).text() == "Read more" )
      $(this).text('Read less');
    else
      $(this).text('Read more');

});

【讨论】:

  • 您在该函数中使用了 $(this) 4 次。将它存储在一个变量中可能是个好主意,因此 jQuery 不必将其包装 4 次。
  • 当然,那不是优化的。在变量中设置 $(this) 会更好,然后使用它。
【解决方案2】:

我为你的问题做了一个sn-p,看看吧:

var readMore = true;

$(".small2").each(function () {
    text = $(this).text();
    if (text.length > 200) {
        $(this).html(text.substr(0, 100) + '<span class="elipsis">' + text.substr(100) + '</span><a class="elipsis" href="#"> Read more</a>');
        $('span.elipsis').fadeToggle(10);
    }

});
$(".small2 > a.elipsis").click(function (e) {
    e.preventDefault(); //prevent '#' from being added to the url
    $('span.elipsis').fadeToggle(500);
    $('a.elipsis').text(readMore ? 'Read less' : 'Read more');
    readMore = !readMore;
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<span class="small2" style="max-height: 120px"  class="col-md-6" align="justify" >sdfjg oshdlbf pisdb fipvsdb fgiphsdb fpvisdb fpihvsbd vspifb dpifhv sdpihfbv asipfhbv asiphfbv aipfsbvpishfv ishafv pias vfphas fvphs dfvp sdpfdpihf pdahvf psahbf jsabf piabfhidbv iphasb pvichasb dpihvab spvi bapifv aspihvdasjfnd[oashvdasdvc ackb vpasihc vpihfc dfhkzjcnv sdz csdkjcba spdjcn aspidbcv asipdb ashid sdfjg oshdlbf pisdb fipvsdb fgiphsdb fpvisdb fpihvsbd vspifb dpifhv sdpihfbv asipfhbv asiphfbv aipfsbvpishfv ishafv pias vfphas fvphs dfvp sdpfdpihf pdahvf psahbf jsabf piabfhidbv iphasb pvichasb dpihvab spvi bapifv aspihvdasjfnd[oashvdasdvc ackb vpasihc vpihfc dfhkzjcnv sdz csdkjcba spdjcn aspidbcv asipdb ashid </span>

【讨论】:

  • 你能解释一下你改变了什么以及为什么?
  • 我基本上做了 2 处更改:1) 在加载时,我调用了“fadeToggle”,因此最初它显示的更少。 2)我保留了一个标志来跟踪当前状态,以便我可以在“显示更多”和“显示更少”之间切换按钮文本。单击时,我正在更新按钮文本(基于状态标志)和状态标志
猜你喜欢
  • 2021-08-22
  • 2020-09-23
  • 2015-06-22
  • 1970-01-01
  • 1970-01-01
  • 2022-10-04
  • 1970-01-01
  • 2019-05-02
  • 2019-07-25
相关资源
最近更新 更多