首页 >

jQuery+CSS3折叠卡片式下拉列表框实现效果【jquery】

web前端|js教程jQuery+CSS3折叠卡片式下拉列表框实现效果【jquery】
jquery下拉列表框,jquery,css3动画
web前端-js教程
jQuery下拉列表框特效将每一个列表项都制作为卡片的样式,打开和关闭它有打开和关闭百叶窗的感觉,效果非常不错,分享给大家。
自定义报名工具源码,ubuntu 文件加锁乱码,通过tomcat部署自己的网站,重庆爬虫数据,php做的请假条,seo 禁止平台lzw
cpa挂机软件源码,vscode配置微软编译器,Ubuntu的指南,如何降低tomcat压力,k哥爬虫,php bytes,零基础学做seo 分类,装潢网站源码下载lzw
asp预约挂号系统源码,vscode连接阿里云,ubuntu卸载flume,tomcat线程占用高,车上爬虫,高性能php开发 pdf,清远seo哪家有名,外贸电子商务网站源码,手机专题页面wap模板下载lzw
简要教学
HTML结构
该下拉列表框特效的列表项使用一个无序列表来制作,用于切换打开和关闭状态的元素是一个超链接元素。

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


jQuery+CSS3折叠卡片式下拉列表框实现效果【jquery】
  • CSS3学习之页面加载动画(二)
  • CSS3学习之页面加载动画(二) | CSS3学习之页面加载动画(二) ...

    jQuery+CSS3折叠卡片式下拉列表框实现效果【jquery】
  • CSS3学习之页面加载动画(三)
  • CSS3学习之页面加载动画(三) | CSS3学习之页面加载动画(三) ...

    jQuery+CSS3折叠卡片式下拉列表框实现效果【jquery】
  • CSS3动画实现5种预载动画效果
  • CSS3动画实现5种预载动画效果 | CSS3动画实现5种预载动画效果 ...