JavaScript实现文字展开收起

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<style>
    *{
        margin: 0;
        padding: 0;
    }
    .root{
        width: 350px;
        padding: 10px;
        background-color: #eee;
        display: flex;
        flex-wrap: wrap;
    }
    .box{
        width: 350px;
        /* height: 100px; */
        background-color: rgb(245,222,179);
        margin: 5px 0;
        padding: 10px;
        border-radius: 10px;
    }
    .box>h3,p{
        margin: 10px 0;
    }
    .box>p{
        text-overflow: ellipsis;
        display:-webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
    }
    .box>button{
        margin-right: 10px;
        padding: 5px 10px;
        border-radius: 5px;
        border: none;
        background-color: rgb(255,69,0);
        float: right;
    }
</style>
<body>
    <div class="root">
        <div class="box">
            <h3>1.什么是区块链?</h3>
            <p>区块链大大大大撒大撒的娃啊大大实打实的都是大大大多是从封建经济发娃啊大大实打实的都是大大大多是从封建经济发娃啊大大实打实的都是大大大多是从封建经济发</p>
            <span>2020-09-02</span>
            <button>展开</button>
        </div>
        <div class="box">
            <h3>2.什么是物联网?</h3>
            <p>物联网大大大大撒大撒的娃啊大大娃啊大大实打实的都是大大大多是从封建经济发娃啊大大实打实的都是大大大多是从封建经济发实打实的都是大大大多是从封建经济发</p>
            <span>2020-09-02</span>
            <button>展开</button>
        </div>
        <div class="box">
            <h3>3.什么是人工智能?</h3>
            <p>人工智能大大大大撒大撒的娃啊大大娃啊大大实打实的都是大大大多是从封建经济发娃啊大大实打实的都是大大大多是从封建经济发实打实的都是大大大多是从封建经济发</p>
            <span>2020-09-02</span>
            <button>展开</button>
        </div>
    </div>
</body>
<script>
    var button=document.querySelectorAll('button')
    for(let i=0;i<button.length;i++){
        button[i].onclick=function(){
            let box=this.parentNode
            if(this.innerHTML=='展开'){
                let p=box.querySelector('p')
                p.style.display="table"
                this.innerHTML="收起"
            }else if(this.innerHTML=='收起'){
                let p=box.querySelector('p')
                p.style.display="-webkit-box"
                this.innerHTML="展开"
            }
        }
    }
</script>
</html>

效果图请添加图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
实现多行文字展开收起,可以通过CSSJavaScript来完成。 首先,利用CSS的text-overflow属性来控制文本的显示方式,当文本超出指定的显示范围时,可以将多余的文本隐藏起来,并用省略号来代替。 其次,使用JavaScript实现展开收起的功能,当点击展开按钮时,将被隐藏的文本显示出来;当点击收起按钮时,将多余的文本隐藏起来。 以下是一个示例代码: HTML: ``` <div class="text-container"> <p class="text">这是一段需要展开收起的文本,可以通过CSSJavaScript实现。</p> <button class="btn-expand">展开</button> <button class="btn-collapse">收起</button> </div> ``` CSS: ``` .text-container { position: relative; overflow: hidden; max-height: 100px; /* 设置文本的最大高度 */ } .text { margin: 0; padding: 0; line-height: 1.5; text-overflow: ellipsis; /* 超出文本范围时用省略号代替 */ white-space: nowrap; overflow: hidden; } .btn-expand, .btn-collapse { position: absolute; bottom: 0; right: 0; display: none; } .btn-expand { display: block; } .text-container.expanded .btn-expand { display: none; } .text-container.expanded .btn-collapse { display: block; } ``` JavaScript: ``` var textContainer = document.querySelector('.text-container'); var text = document.querySelector('.text'); var btnExpand = document.querySelector('.btn-expand'); var btnCollapse = document.querySelector('.btn-collapse'); btnExpand.addEventListener('click', function() { textContainer.classList.add('expanded'); }); btnCollapse.addEventListener('click', function() { textContainer.classList.remove('expanded'); }); ``` 以上代码实现了一个简单的多行文字展开收起的效果,可以根据实际需求进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是阿信ya

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值