成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? jQuery+CSS3折疊卡片式下拉列表框實現效果
全站頭部文字 我要出現在這里
jQuery+CSS3折疊卡片式下拉列表框實現效果 587 2024-03-22   

jQuery下拉列表框特效將每一個列表項都制作為卡片的樣式,打開和關閉它有打開和關閉百葉窗的感覺,效果非常不錯,分享給大家。

查看圖片

查看圖片

簡要教程
HTML結構
該下拉列表框特效的列表項使用一個無序列表來制作,用于切換打開和關閉狀態的元素是一個超鏈接元素。

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

CSS樣式
a.toggle元素用于切換下拉列表的打開和關閉狀態。為了制作點擊時卡片上翻的效果,它被設置了transform-style: preserve-3d;屬性。同時修改了轉換的原點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;
}       

但它處于激活狀態的時候,它會沿X軸進行旋轉,并使用:before和:after偽元素來制作角部三角形效果

.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);
}        

列表項在切換時只是簡單的使用jQuery來修改它們的top、width和margin-left屬性,使其顯示和隱藏。并使用ease-out作為CSS動畫過渡效果。

.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()函數用于關閉所有的列表項,默認它們是處于關閉狀態的。

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();        

然后監聽.toggle元素的mousedown事件,該事件中切換列表的打開和關閉狀態。

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');
    });
  }
});        

最后在每一個列表項被點擊的時候,將該列表項的內容移動到第一項中,被關閉整個下來列表。

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制作的效果,非常炫酷的下拉列表框特效,希望大家喜歡



主站蜘蛛池模板: 一江春水向东流 电视剧| 让我们的家更美好教学设计| 韩国青草视频| 回到十八岁| 有关动物的成语| 出彩中国人第三季 综艺| 想要女朋友电影| 烽火溃兵之血战缅甸| 远方的故乡简谱| 色戒在线视频观看| 宋小宝电影| 美少女之恋| (一等奖)班主任经验交流ppt课件 傅青主治闭经特效方 | 黛博拉·安沃尔| 红电视剧演员表| 六年级上册英语书翻译| 悄悄问圣僧女儿美不美| 吃什么皮肤白的最快| 今天cctv6节目表| hunger game| 电影《七三一》| 免费身份证图片| 护士韩国电影| 永远的紫荆花简谱| 新妈妈2| interracial| 大悲咒朗诵正版念诵| 祖卡尔| 托洛斯基| 老板5| 你从草原走来| 繁华在线观看| 浙江卫视节目表 今晚| 花落花开电影| 默读车| 内蒙古电视台节目表| 水怪电影| 最可爱的人 电影| 老板5| 小矮人的一级毛片| 未来少年柯南 动漫|

!!!站長長期在線接!!!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103