如何使用JavaScript为文本隐藏创建”显示更多”和”显示更少”的功能

如何使用JavaScript为文本隐藏创建”显示更多”和”显示更少”的功能

“显示更多”和”显示更少”功能对于包含大量文章的新闻和杂志网站等文字较多的网站非常有用。这可以帮助网页设计师根据需要给用户提供阅读更多或更少文本的自由。

方法: 通过点击按钮可以动态改变显示的内容。不是在网页上显示完整的段落,而是最初只显示一部分文本,并添加一个按钮来显示更多的文本。开发人员可以决定在点击按钮之前和之后应显示的文本数量。

例子: 可以使用简单的if-else条件来实现上述方法,该条件检查文本的当前状态并根据此状态显示或隐藏文本。下面的例子说明了这种方法:

<!DOCTYPE html>
<html>

<head>
    <title>
        How to create Show More and Show Less
        functionality for hiding text using JavaScript ?
    </title>
    <style>
        /* Initially, hide the extra text that
            can be revealed with the button */
        #moreText {

            /* Display nothing for the element */
            display: none;
        }
    </style>
</head>

<body>
    <h1 style="color: green;">
        GeeksforGeeks
    </h1>

    <h3>Show More and Show Less Example</h3>

    <p>
        GeeksforGeeks was born out of necessity-
        a need to provide a convenient and
        one-stop educational portal to all the
        students of Computer Science.
        <span id="points">...</span>

        <!-- Define the text that would be
                hidden by default and only shown
                when clicked on the button -->
        <span id="moreText"> This necessity was
            as personal to me as it was universal.
            This need combined with my passion for
            teaching resulted in GeeksforGeeks as
            we know today. My message to you, in
            our inaugural edition of Geeks Digest,
            would be that if you are looking for
            a problem to work on, you don’t need
            to look very far for it. All you should
            do is to look around yourself.
        </span>
    </p>


    <!-- Trigger toggleText() when the
            button is clicked -->
    <button onclick="toggleText()" id="textButton">
        Show More
    </button>

    <script>
        function toggleText() {

            // Get all the elements from the page
            let points =
                document.getElementById("points");

            let showMoreText =
                document.getElementById("moreText");

            let buttonText =
                document.getElementById("textButton");

            // If the display property of the dots
            // to be displayed is already set to
            // 'none' (that is hidden) then this
            // section of code triggers
            if (points.style.display === "none") {

                // Hide the text between the span
                // elements
                showMoreText.style.display = "none";

                // Show the dots after the text
                points.style.display = "inline";

                // Change the text on button to
                // 'Show More'
                buttonText.innerHTML = "Show More";
            }

            // If the hidden portion is revealed,
            // we will change it back to be hidden
            else {

                // Show the text between the
                // span elements
                showMoreText.style.display = "inline";

                // Hide the dots after the text
                points.style.display = "none";

                // Change the text on button
                // to 'Show Less'
                buttonText.innerHTML = "Show Less";
            }
        }
    </script>
</body>
</html>
HTML

输出:

如何使用JavaScript为文本隐藏创建"显示更多"和"显示更少"的功能

阅读更多:JavaScript 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册