国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

jQuery+CSS3折疊卡片式下拉列表框?qū)崿F(xiàn)效果

2019-11-20 11:21:33
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

jQuery下拉列表框特效將每一個(gè)列表項(xiàng)都制作為卡片的樣式,打開(kāi)和關(guān)閉它有打開(kāi)和關(guān)閉百葉窗的感覺(jué),效果非常不錯(cuò),分享給大家。

簡(jiǎn)要教程
HTML結(jié)構(gòu)
該下拉列表框特效的列表項(xiàng)使用一個(gè)無(wú)序列表來(lái)制作,用于切換打開(kāi)和關(guān)閉狀態(tài)的元素是一個(gè)超鏈接元素。

<div class="container"> <div class="card-drop">  <a class='toggle' href="#">   <i class='fa fa-suitcase'></i>    <span class='label-active'>Everyting</span>  </a>  <ul>   <li class='active'>    <a data-label="Everyting" href="#"><i class='fa fa-suitcase'></i> Everyting</a>   </li>   ......  </ul> </div></div>

CSS樣式
a.toggle元素用于切換下拉列表的打開(kāi)和關(guān)閉狀態(tài)。為了制作點(diǎn)擊時(shí)卡片上翻的效果,它被設(shè)置了transform-style: preserve-3d;屬性。同時(shí)修改了轉(zhuǎn)換的原點(diǎn)transform-origin: 50% 0%;。

.card-drop > a.toggle { position: relative; z-index: 100; -moz-backface-visibility: hidden; -webkit-backface-visibility: hidden; backface-visibility: hidden; -moz-transform-style: preserve-3d; -webkit-transform-style: preserve-3d; transform-style: preserve-3d; -moz-transform-origin: 50% 0%; -ms-transform-origin: 50% 0%; -webkit-transform-origin: 50% 0%; transform-origin: 50% 0%; -moz-transition: linear 0.1s; -o-transition: linear 0.1s; -webkit-transition: linear 0.1s; transition: linear 0.1s;}       

但它處于激活狀態(tài)的時(shí)候,它會(huì)沿X軸進(jìn)行旋轉(zhuǎn),并使用:before和:after偽元素來(lái)制作角部三角形效果

.card-drop > a.toggle:active { -moz-transform: rotateX(60deg); -webkit-transform: rotateX(60deg); transform: rotateX(60deg);}.card-drop > a.toggle:active:after { -moz-transform: rotateX(180deg); -webkit-transform: rotateX(180deg); transform: rotateX(180deg);}.card-drop > a.toggle:before, .card-drop > a.toggle:after { content: ""; position: absolute;}.card-drop > a.toggle:before { right: 25px; top: 50%; margin-top: -2.5px; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 6px solid rgba(0, 0, 0, 0.8);}.card-drop > a.toggle.active:before { transform: rotate(180deg);}        

列表項(xiàng)在切換時(shí)只是簡(jiǎn)單的使用jQuery來(lái)修改它們的top、width和margin-left屬性,使其顯示和隱藏。并使用ease-out作為CSS動(dòng)畫(huà)過(guò)渡效果。

.card-drop ul { position: absolute; height: 100%; top: 0; display: block; width: 100%;}.card-drop ul li { margin: 0 auto; -moz-transition: all, ease-out 0.3s; -o-transition: all, ease-out 0.3s; -webkit-transition: all, ease-out 0.3s; transition: all, ease-out 0.3s; position: absolute; top: 0; z-index: 0; width: 100%;}.card-drop ul li a { border-top: none;}.card-drop ul li a:hover { background-color: #4aa3df; color: #f3f9fd;}.card-drop ul li.active a { color: #fff; background-color: #258cd1; cursor: default;}.card-drop ul li.closed a:hover { cursor: default; background-color: #3498db;}        

 JavaScript

在jQuery代碼中,setClosed()函數(shù)用于關(guān)閉所有的列表項(xiàng),默認(rèn)它們是處于關(guān)閉狀態(tài)的。

function setClosed() {  li.each(function (index) {    $(this).css('top', index * 4).css('width', width - index * 0.5 + '%').css('margin-left', index * 0.25 + '%');  });  li.addClass('closed');  toggler.removeClass('active');}setClosed();        

然后監(jiān)聽(tīng).toggle元素的mousedown事件,該事件中切換列表的打開(kāi)和關(guān)閉狀態(tài)。

toggler.on('mousedown', function () {  var $this = $(this);  if ($this.is('.active')) {    setClosed();  } else {    $this.addClass('active');    li.removeClass('closed');    li.each(function (index) {      $(this).css('top', 60 * (index + 1)).css('width', '100%').css('margin-left', '0px');    });  }});        

最后在每一個(gè)列表項(xiàng)被點(diǎn)擊的時(shí)候,將該列表項(xiàng)的內(nèi)容移動(dòng)到第一項(xiàng)中,被關(guān)閉整個(gè)下來(lái)列表。

links.on('click', function (e) {  var $this = $(this), label = $this.data('label');  icon = $this.children('i').attr('class');  li.removeClass('active');  if ($this.parent('li').is('active')) {    $this.parent('li').removeClass('active');  } else {    $this.parent('li').addClass('active');  }  toggler.children('span').text(label);  toggler.children('i').removeClass().addClass(icon);  setClosed();  e.preventDefault;});        

以上就是為大家分享的jQuery和CSS3制作的效果,非常炫酷的下拉列表框特效,希望大家喜歡

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 晴隆县| 固镇县| 宜君县| 买车| 山西省| 乌什县| 秀山| 和龙市| 民乐县| 金乡县| 巫山县| 宜川县| 霍邱县| 鹿泉市| 白沙| 洪江市| 寿宁县| 恭城| 龙川县| 西乌珠穆沁旗| 九龙县| 乐平市| 德保县| 星座| 东兰县| 潮州市| 寻乌县| 修文县| 曲松县| 韶关市| 绩溪县| 江华| 夹江县| 夏邑县| 林甸县| 景谷| 银川市| 临高县| 嘉祥县| 建瓯市| 广河县|