成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

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

IntMain / 1996人閱讀

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

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

接下來(lái)是本人山寨版(山寨版結(jié)構(gòu)簡(jiǎn)單,代碼輕巧,無(wú)依賴^_^):
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)過(guò)來(lái)):

* {
    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

//接受三個(gè)參數(shù),分別是折疊菜單的外包div名稱,是否關(guān)閉之前的折疊,默認(rèn)開(kāi)啟的折疊內(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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/86193.html

相關(guān)文章

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

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

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

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

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

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

    gghyoo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<