1. 程式人生 > >【HTML】- 實現展開與收起效果

【HTML】- 實現展開與收起效果

1.javascript實現

1.1 html

<div id="box">
    <div id="content">
        <h4>皮質腕錶 水晶刻度大氣錶盤</h4>
        <p>瑞典 | Daniel Wellington | 價格:¥1233.24</p>
        <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 6999</p>
        <div id="spread">
            <p>魅族 note5 小米 華為 OPPO</p>
            <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>

相關推薦

HTML- 實現展開收起效果

1.javascript實現 1.1 html <div id="box"> <div id="content"> <h4>皮質腕錶 水晶

實現展開收起效果

<script> /*獲得btn*/ var btn = document.getElementById('btn') var spread = document.getElementById('spread') var iSpread = false /*高度*/ var

實現簡單展開收起效果

日常 content ora borde androi oid 理解 sub 就會 body { margin: 0 auto; padding: 0; font-size: 9pt;

js之展開收起效果

previous edi 處理 cor ext 良好的 添加 核心 分享 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/

Win10實現控制元件倒影效果

原文: 【Win10】實現控制元件倒影效果 先引入個小廣告: 最近買了臺小米盒子折騰下,發覺 UI 還是挺漂亮的,特別是主頁那個倒影效果。 (圖隨便找的,就是上面圖片底部的那個倒影效果。)   好了,廣告結束,迴歸正題,這個倒影效果我個人覺得是挺不錯的,那麼有沒有辦法在 Win10 中

Win10Win2D實現控制元件陰影效果

原文: 【Win10】【Win2D】實現控制元件陰影效果 學過 WPF 的都知道,在 WPF 中,為控制元件新增一個陰影效果是相當容易的。 <Border Width="100" Height="100" Background="Red">

Android自定義元件系列11——實現3D立體旋轉效果

package com.example.rotation3dview; import android.content.Context; import android.graphics.Camera; import android.graphics.Canvas; import android.graphic

javascript展開收起效果

簡單的做了一個顯示與隱藏的效果,當然有一些坑點。 比如喜歡上了在標籤內部繫結DOM事件,而不是在javascript內繫結事件。 好處是隻需要寫好函式就可以繫結引用了; 在修改css樣式時,正確程式碼應該是: document.getElementById("hidbox"

對js操作html的實踐1——實現網頁假崩潰吸引網友註意力

code 自己 頁面 註意力 size mat pre fun hidden 前些天逛網站的時候,發現了一些好玩的細節:當網頁失去焦點後標題顯示網頁崩潰,這將使得瀏覽者重新點回網頁。 來自ANOTHERHOME(https://www.anotherhome.net/)與晨

JS深拷貝淺拷貝的區別,實現深拷貝的幾種方法

如何區分深拷貝與淺拷貝,簡單點來說,就是假設B複製了A,當修改A時,看B是否會發生變化,如果B也跟著變了,說明這是淺拷貝,拿人手短,如果B沒變,那就是深拷貝,自食其力。 此篇文章中也會簡單闡述到棧堆,基本資料型別與引用資料型別,因為這些概念能更好的讓你理解深拷貝與淺拷貝。 我們來舉個淺拷貝例

HtmlClipboard.js 實現點選複製,剪下板操作

可以使用cdn 或者直接下載 設定好引用路徑(百度雲下載) <script type="text/javascript" src="./dist/clipboard.min.js"></script> html <input type

HtmlClipboard.js 實現點擊復制,剪切板操作

lan ofo article span err arc blank javascrip 百度雲 可以使用cdn 或者直接下載 設置好引用路徑(百度雲下載) <script type="text/javascript" src="./dist/clipboard.m

Unity實現類似皇室戰爭使用“火球”將敵人“炸開”效果

今天做了一個皇室戰爭使用“火球”攻擊敵人的效果,當然是簡易版的。也是跟上一篇博文有聯絡。 玩過皇室戰爭的人都知道這張卡片,當火球爆炸的時候會將敵人“炸開”,也就是將敵人推開,把對方的陣型打亂 步驟一:製作一個會“變大變小”的小球 為什麼要讓小球變大變小呢,因為Demo是2D的所

Unity實現“擠開”效果(不使用自帶物理引擎)

今天發現被撞擊的小球移動有些生硬,所以改了一下被撞擊之後小球的移動方式。 using System.Collections; using System.Collections.Generic; using UnityEngine; public class Player : MonoB

Unity實現“擠開”效果(不使用自帶物理引擎)

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class Player : MonoBehaviour { //

原始碼QPSK調製解調的一般實現方法

本程式碼的QPSK調製與解調過程沒有考慮噪聲的影響,是一種比較理想的設計方式。 %XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX %XXXX QPSK Modulation and

純CSS3實現移動端展開收起效果

展示效果: HTML程式碼 <section class="block"> <input type="checkbox"> <div class="case-block"> <

XMLHTML

前言    剛接觸XML不知道它是幹嘛的。通過視訊和網上查閱資料發現都是和HTML在對比學習,大家都對HTML比較熟悉。下面我總結一下它們兩者的區別 What

IOS實現IOS版的抽屜效果(點選,拖拽滑動)

原文連結:http://blog.csdn.net/toss156/article/details/7400065 好像最近,看到好多Android上的抽屜效果,也忍不住想要自己寫一個。在Android裡面可以用SlidingDrawer,很方便的實現。IOS上面就只有自

Python使用openCVdlib實現人臉68特徵點的檢測手動修改

在使用plib檢測人臉特徵點的過程中由於各種原因難免會遇到特徵點定位不準確的情況。這時,如果能夠手動修改來移動特徵點的位置,後續工作則可以更好地得以完成。 由於openCV的畫圖工具會覆蓋原來的圖片,這裡我通過手動儲存被修改畫素的辦法實現移動定位點而不損害原來