文字不会在点击时隐藏

山姆·史密斯

我有六个框,每个框包含一个段落,每个段落具有不同的内容。字符限制设置为200个字符。200个字符后,其余内容(如果有)将被隐藏,直到用户单击Show More链接为止

当用户单击Show Less链接时,文本显示将返回到字符数限制。但是,事实并非如此。当用户单击Show More链接时,将显示所有内容,但是当用户单击Show Less链接时,内容不会收缩。

我看到了其他有关显示和隐藏内容的SO帖子,但是在解决他们的问题以解决我的问题后,我仍然迷失了方向。这是我第一次实现jQuery,因此请在这种基本水平上感到困惑。

对于为什么Show Less不缩小内容的任何建议,我们将不胜感激。

<div class="col-md-8" id="article">
    <?php 
      $text = $page->Article_Text;
    ?>

    <script>
      $(document).ready(function(){
          var readMoreHTML = $(".read-more").html();
          var lessText = readMoreHTML.substr(0, 200);

          if(readMoreHTML.length > 200){
              $(".read-more").html(lessText).append("<a href=''class='read-more-link' style='color:gray; text-decoration:none'>Show More</a>");
          } else{
              $(".read-more").html(readMoreHTML);
          }
          $("body").on("click", ".read-more-link", function(event){
              event.preventDefault();
              $(this).parent(".read-more").html(readMoreHTML).append("<a href=''class='show-less-link' style='color:gray; text-decoration:none'>Show Less</a>");
          });
              $("body").on("click", ".show-less-link", function(event){
                event.preventDefault();
                $(this).parent(".read-more").html(readMoreHTML.subtr(0,200)).append("<a href=''class='read-more-link' style='color:gray; text-decoration:none'>Show More</a>");
          });
      });
    </script>


    <div class="content">
       <div class="read-more">
           <?php echo $text ?>
        </div>
    </div>

</div><!--#article-->

(请原谅内联CSS,因为它仅用于测试目的)。

锯齿龙

在JS的最后一部分中,只需使用您的lessText变量即可。jQuery.html()方法不能接受readMoreHTML.subtr(0,200)作为输入。

$(this).parent(".read-more").html(lessText).append("<a href=''class='read-more-link' style='color:gray; text-decoration:none'>Show More</a>");

有效的Codepen:http://codepen.io/staypuftman/pen/akZdzg

并在此处附加运行代码。你可以检查输出

    $(document).ready(function () {
        var readMoreHTML = $(".read-more").html();
        var lessText = readMoreHTML.substr(0, 200);

        if (readMoreHTML.length > 200) {
            $(".read-more").html(lessText).append("<a href=''class='read-more-link' style='color:gray; text-decoration:none'>Show More</a>");
        } else {
            $(".read-more").html(readMoreHTML);
        }
        $("body").on("click", ".read-more-link", function (event) {
            event.preventDefault();
            $(this).parent(".read-more").html(readMoreHTML).append("<a href=''class='show-less-link' style='color:gray; text-decoration:none'>Show Less</a>");
        });
        $("body").on("click", ".show-less-link", function (event) {
            event.preventDefault();
            $(this).parent(".read-more").html(lessText).append("<a href=''class='read-more-link' style='color:gray; text-decoration:none'>Show More</a>");
        });
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<div class="read-more">
    Details of G.M.’s decision-making process almost 20 years ago, which has not been reported previously, suggest that a quest for savings of just a few dollars per airbag compromised a critical safety device, resulting in passenger deaths. The findings also indicate that automakers played a far more active role in the prelude to the crisis: Rather than being the victims of Takata’s missteps, automakers pressed their suppliers to put cost before all else.
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

文字不会在点击时隐藏

来自分类Dev

RadComboBox不会在点击时崩溃

来自分类Dev

DropDown不会在点击时关闭

来自分类Dev

活动不会在点击时显示

来自分类Dev

可点击的LinearLayout不会在点击时突出显示

来自分类Dev

Android按钮不会在每次点击时触发事件

来自分类Dev

Android OnClickListener不会在首次点击时触发

来自分类Dev

UIBarButtonItem操作不会在点击时触发

来自分类Dev

UIBarButtonItem操作不会在点击时触发

来自分类Dev

Android按钮不会在每次点击时触发事件

来自分类Dev

Android Button不会在点击时改变颜色

来自分类Dev

导航菜单不会在点击时打开或关闭

来自分类Dev

Html 可折叠不会在点击时展开

来自分类Dev

动态添加的链接按钮不会在首次点击时触发点击事件-C#

来自分类Dev

插页式广告不会在点击按钮时显示,直到我点击后退按钮

来自分类Dev

下拉菜单不会在点击时扩展,因为onChange不会触发

来自分类Dev

计时器不会在点击时启动,也不会因时间选择器而改变

来自分类Dev

Firefox不会在点击时触发css焦点规则,而Chrome会触发。

来自分类Dev

为什么Vaadin ClickListener不会在首次点击时触发?

来自分类Dev

onclick不会在首次点击时触发(仅使用纯Java脚本回答)

来自分类Dev

jQuery不会在第二次点击时触发

来自分类Dev

剔除可观察变量不会在点击时改变其值

来自分类Dev

Bootstrap 导航栏切换向上打开?Toggle 不会在点击时关闭?

来自分类Dev

angular-sidebarjs - 侧边栏不会在 angularjs 中的按钮点击时关闭

来自分类Dev

下拉菜单不会在第二次点击时关闭

来自分类Dev

Bootstrap(实际上是JQuery)DatePicker不会在Wicket模式中模糊时隐藏

来自分类Dev

元素不会在JavaScript中的页面加载时被隐藏

来自分类Dev

菜单不会在第二次单击时隐藏

来自分类Dev

ExtJS / HTML-工具提示不会在鼠标移开时隐藏

Related 相关文章

  1. 1

    文字不会在点击时隐藏

  2. 2

    RadComboBox不会在点击时崩溃

  3. 3

    DropDown不会在点击时关闭

  4. 4

    活动不会在点击时显示

  5. 5

    可点击的LinearLayout不会在点击时突出显示

  6. 6

    Android按钮不会在每次点击时触发事件

  7. 7

    Android OnClickListener不会在首次点击时触发

  8. 8

    UIBarButtonItem操作不会在点击时触发

  9. 9

    UIBarButtonItem操作不会在点击时触发

  10. 10

    Android按钮不会在每次点击时触发事件

  11. 11

    Android Button不会在点击时改变颜色

  12. 12

    导航菜单不会在点击时打开或关闭

  13. 13

    Html 可折叠不会在点击时展开

  14. 14

    动态添加的链接按钮不会在首次点击时触发点击事件-C#

  15. 15

    插页式广告不会在点击按钮时显示,直到我点击后退按钮

  16. 16

    下拉菜单不会在点击时扩展,因为onChange不会触发

  17. 17

    计时器不会在点击时启动,也不会因时间选择器而改变

  18. 18

    Firefox不会在点击时触发css焦点规则,而Chrome会触发。

  19. 19

    为什么Vaadin ClickListener不会在首次点击时触发?

  20. 20

    onclick不会在首次点击时触发(仅使用纯Java脚本回答)

  21. 21

    jQuery不会在第二次点击时触发

  22. 22

    剔除可观察变量不会在点击时改变其值

  23. 23

    Bootstrap 导航栏切换向上打开?Toggle 不会在点击时关闭?

  24. 24

    angular-sidebarjs - 侧边栏不会在 angularjs 中的按钮点击时关闭

  25. 25

    下拉菜单不会在第二次点击时关闭

  26. 26

    Bootstrap(实际上是JQuery)DatePicker不会在Wicket模式中模糊时隐藏

  27. 27

    元素不会在JavaScript中的页面加载时被隐藏

  28. 28

    菜单不会在第二次单击时隐藏

  29. 29

    ExtJS / HTML-工具提示不会在鼠标移开时隐藏

热门标签

归档