javascript - 展开 div 到 "read more"

标签 javascript php jquery mysql css

我在我的网站上遇到了一个问题,我正在寻找解决方案。帖子是从 MySQL 数据库中获取的。如果它包含几行,则完全显示。但是,如果它包含太多行(因此在浏览器屏幕上占用更多空间),那么我希望它显示为单行后跟点(例如,您的太长的帖子....) 通过单击显示整个帖子的“查看更多”选项(如在 facebook、twitter 等中看到的那样)。它是通过 javascript 或 jquery 的客户端解决方案,还是可以通过 PHP 在服务器端处理。非常感谢您的建议!

整个帖子是从 MySQL 中提取的,我直接附和了它:

<?php
 //code
 while($row=mysql_fetch_array($result))
 {
   echo $row['posts'];
 }
?>

此时我只是从数据库中获取整个帖子并回显它。我想要一个 javascript 解决方案来完成剩下的工作。

最佳答案

你可以用 jquery 做到这一点:-

<div class="columns">
    your text goes here. Try long text here....
</div>

 a.morelink {
        text-decoration: none;
        outline: none;
    }

    .morecontent span {
        display: none;
    }

    .comment {
        width: 400px;
        background-color: #f0f0f0;
        margin: 10px;
    }

<script>
var showChar = 120;
        var ellipsestext = "...";
        var moretext = "more";
        var lesstext = "less";

        $(".columns").each(function () {
            var content = $(this).html();

            if (content.length > showChar) {
                var first = content.substr(0, showChar);
                var second = content.substr(showChar - 1, content.length - showChar);

                var html = first + '<span class="moreellipses">' + ellipsestext+ '&nbsp;</span><span class="morecontent"><span>' + second + '</span>&nbsp;&nbsp;<a href="" class="morelink">' + moretext + '</a></span>';

                $(this).html(html);
            }
        });

        $(".morelink").click(function(){
            if($(this).hasClass("less")) {
                $(this).removeClass("less");
                $(this).html(moretext);
            } else {
                $(this).addClass("less");
                $(this).html(lesstext);
            }
            $(this).parent().prev().toggle();
            $(this).prev().toggle();
            return false;
        }); 
</script>

关于javascript - 展开 div 到 "read more",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21186619/

相关文章:

命名空间 : Controller or Controllers, 中的 PHP 's' 模型或模型?

javascript - 如何以图表的形式展示系统生成的结果

php - 如何在 PHP 中使用箭头函数?

jquery - 使用 jquery 验证 youtube URL

javascript - fadeIn() 在调整浏览器大小后重新开始

javascript - 如何显示从 Zebra Datepicker 中选择的两个日期中选择的天数?

javascript - 微调哈希以动态创建 ZingCharts 树形图数组

javascript - extjs饼图所有图例显示相同颜色

javascript - jquery 冲突 - 如何使用 jQuery.noConflict();

javascript - Div 没有显示在 JavaScript 中?