亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

原生JS模擬Bootstrap中的折疊(Collapse)插件

IntMain / 2043人閱讀

摘要:以前實(shí)習(xí)的時候因?yàn)橼s時間直接用的插件做了個折疊菜單,對于一個原生控來說還是更傾向于自己寫一個,畢竟為了個折疊菜單引入和有點(diǎn)太臃腫了。原版的效果其實(shí)也不難,主要是在開合的過程中添加了的過渡效果。

以前實(shí)習(xí)的時候因?yàn)橼s時間直接用bootstrap的插件collapse.js做了個折疊菜單, 對于一個原生控來說還是更傾向于自己寫一個, 畢竟為了個折疊菜單引入jq和bootstrap有點(diǎn)太臃腫了。 于是又到了考驗(yàn)山寨能力的時候了-_-# 。
原版collapse.js的效果其實(shí)也不難,主要是在開合的過程中添加了css3的過渡效果。以下是原版與山寨版demo,同時點(diǎn)擊預(yù)覽,可明顯感受到加載速度的區(qū)別。
DEMO:
Bootstrap原版Collapse

接下來是本人山寨版(山寨版結(jié)構(gòu)簡單,代碼輕巧,無依賴^_^):
Collapse by native JS

打包下載出門左轉(zhuǎn)Github ? Collapse By Native JS
以下是代碼邏輯:
HTML的結(jié)構(gòu)

Title1

content1
content1
content1
content1
content1
content1
content1
content1
content1

Title2

content2
content2
content2
content2
content2
content2
content2
content2
content2

Title3

content3
content3
content3
content3
content3
content3
content3
content3
content3

Title4

content4
content4
content4
content4
content4
content4
content4
content4
content4

CSS(要山寨就盡量山寨得徹底,外觀樣式全部從bootstrap的樣式搬運(yùn)過來):

* {
    box-sizing:border-box;
    -webkit-box-sizing:border-box;
}
body {

    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.42857143;
    color: #333;
    background-color: #fff;
    margin: 2px;
}

a{
    text-decoration: underline;
    color: #666666;
}
a:hover{
    text-decoration: none;
}
.collapseDiv{
    color: #333;
    border-radius: 4px;
    background-color: #f5f5f5;
    border:1px solid transparent;
    border-color: #ffffd;
    box-shadow: 0 1px 1px rgba(0,0,0,.05);
    margin-top: 5px;
    margin-bottom: 0;
}
.collapseDiv h3{
    font-size: 14px;
    font-weight: bold;
    color: #333;
    border-color: #ffffd;
    padding-top: 5px;
    padding-right: 15px;
    padding-bottom: 5px;
    padding-left: 15px;
    background-color: #f5f5f5;
    margin: 0;
}


.collapse_body {
    background-color:#fff ;
    position: relative;
    height: 0;
    overflow: hidden;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease;
    -webkit-transition-duration: .35s;
    -o-transition-duration: .35s;
    transition-duration: .35s;
    -webkit-transition-property: height, visibility;
    -o-transition-property: height, visibility;
    transition-property: height, visibility
    
}
.collapse_content{
    border-top: 1px solid #ffffd;
    background-color:#fff ;
    padding:15px;
}

JS

//接受三個參數(shù),分別是折疊菜單的外包div名稱,是否關(guān)閉之前的折疊,默認(rèn)開啟的折疊內(nèi)容
        function Collapse(className,close_prev,default_open){        
        this._elements = [];
        this._className = String(className);
        this._previous = Boolean(close_prev)
        this._default = typeof(default_open)==="number" ? default_open: -1
        this.getCurrent  
        this.init();
    }

    //收集所有折疊菜單的div
    Collapse.prototype.collectElementbyClass = function(){
        this._elements = [];
        var allelements = document.getElementsByTagName("div");

        for(var i=0;i           
               
                                           
                       
                 

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/86193.html

相關(guān)文章

  • 前端入門24-響應(yīng)式布局(BootStrap

    摘要:聲明聲明本篇內(nèi)容摘抄自以下兩個來源中文網(wǎng)感謝大佬們的分享。版本是全球最受歡迎的前端組件庫,用于開發(fā)響應(yīng)式布局移動設(shè)備優(yōu)先的項(xiàng)目。官方示例官方示例版本,官方還沒有中文教程,的中文教程倒是很齊全了。聲明 本篇內(nèi)容摘抄自以下兩個來源: BootStrap中文網(wǎng) 感謝大佬們的分享。 正文-響應(yīng)式布局(BootStrap) 這次想來講講一個前端開發(fā)框架:BootStrap BootStrap 目前...

    lunaticf 評論0 收藏0
  • js輕松實(shí)現(xiàn)折疊面板

    摘要:移動端導(dǎo)航欄有個很常見的折疊菜單,有插件實(shí)現(xiàn),有組件。最近用無插件實(shí)現(xiàn)一個這樣的效果。探究歷程直接采用,雖然實(shí)現(xiàn)了控制容器的顯示和隱藏,但是效果生硬。 移動端導(dǎo)航欄有個很常見的折疊菜單,bootstrap有collapse插件實(shí)現(xiàn),jQuery UI有Accordion組件。最近用js無插件實(shí)現(xiàn)一個這樣的效果。 探究歷程 display:none; 直接采用display,雖然實(shí)現(xiàn)...

    suxier 評論0 收藏0
  • js輕松實(shí)現(xiàn)折疊面板

    摘要:移動端導(dǎo)航欄有個很常見的折疊菜單,有插件實(shí)現(xiàn),有組件。最近用無插件實(shí)現(xiàn)一個這樣的效果。探究歷程直接采用,雖然實(shí)現(xiàn)了控制容器的顯示和隱藏,但是效果生硬。 移動端導(dǎo)航欄有個很常見的折疊菜單,bootstrap有collapse插件實(shí)現(xiàn),jQuery UI有Accordion組件。最近用js無插件實(shí)現(xiàn)一個這樣的效果。 探究歷程 display:none; 直接采用display,雖然實(shí)現(xiàn)...

    gghyoo 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<