【HTML】- 实现展开与收起效果

1.javascript实现

1.1 html

<div id="box"><div id="content"><h4>皮质腕表 水晶刻度大气表盘h4><p>瑞典 | Daniel Wellington | 价格:¥1233.24p><div id="spread"><img src="images/pic.jpg" alt=""><p>税费:进口税 预计146.76元p><p>物流:香港仓发货 至中国海关 至杭州市p><p>运费:0.00 24:00前付款,预计15日内送达p>div>div><button id="btn">展开button>
div>

1.2 css

<style>*{margin: 0;padding: 0;}body{font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 14px;color: #222222;}#box{width: 600px;margin: 20px auto;text-align: center;}#content{background-color: #b3dae9;border-radius: 8px;box-shadow: 1px 1px 1px #ccc;border:1px solid #EEEEEE;}h4{font-size: 16px;}h4,p{padding: 10px 0;}#btn{width: 80px;}#spread{height: 0px;overflow: hidden;}
style>

1.3 javascript

<script>/*获得btn*/
    var btn = document.getElementById('btn')var spread = document.getElementById('spread')var iSpread = false
    /*高度*/
    var height = spread.scrollHeight
    /*总时间*/
    var time = 420;/*间隔*/
    var interval = 8.4
    /*速度*/
    var speed = height/(time/interval)/*点击事件*/
    btn.onclick = function (e) {btn.disabled = 'disabled'
        if(!iSpread){var speeds = 0
            var timer = setInterval(function () {speeds += speed
                spread.style.height = speeds + 'px'

                if(parseInt(spread.style.height) >=height){clearTimeout(timer)btn.disabled = ''
                }},interval)this.innerHTML = '收起'
        }else {var speeds = height
            this.innerHTML = '展开'
            var timer = setInterval(function () {speeds -= speed
                spread.style.height = speeds + 'px'
                if(speeds <= 0){clearTimeout(timer)btn.disabled = ''
                }},interval)}iSpread = !iSpread
    }script>

1.4 效果

     

2.jQuery实现

2.1 html

<div id="box"><div id="content"><h4>手机h4><p>价格:1499 2999 3999 5999 6999p><div id="spread"><p>魅族 note5 小米 华为 OPPOp><p>超长待机 防水 1080高清屏p>div>div><button id="btn">展开button>
div>

2.2 css

<style>*{margin: 0;padding: 0;}body{font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 16px;color: #222222;}#box{width: 600px;margin: 20px auto;text-align: center;}#content{background-color: #FF9C01;}h4,p{padding: 10px 0;}#btn{width: 80px;}#spread{display: none;}
style>

2.3 javascript

<script src="jquery-3.2.1.min.js">script>

<script>var btn = $('#btn')var spread = $('#spread')btn.click(function () {spread.slideToggle()})
script>




本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部