css 收缩 动画,CSS3响应式垂直手风琴展开收缩动画特效

js代码

//uses classList, setAttribute, and querySelectorAll

//if you want this to work in IE8/9 youll need to polyfill these

(function(){

var d = document,

accordionToggles = d.querySelectorAll('.js-accordionTrigger'),

setAria,

setAccordionAria,

switchAccordion,

touchSupported = ('ontouchstart' in window),

pointerSupported = ('pointerdown' in window);

skipClickDelay = function(e){

e.preventDefault();

e.target.click();

}

setAriaAttr = function(el, ariaType, newProperty){

el.setAttribute(ariaType, newProperty);

};

setAccordionAria = function(el1, el2, expanded){

switch(expanded) {

case "true":

setAriaAttr(el1, 'aria-expanded', 'true');

setAriaAttr(el2, 'aria-hidden', 'false');

break;

case "false":

setAriaAttr(el1, 'aria-expanded', 'false');

setAriaAttr(el2, 'aria-hidden', 'true');

break;

default:

break;

}

};

//function

switchAccordion = function(e) {

console.log("triggered");

e.preventDefault();

var thisAnswer = e.target.parentNode.nextElementSibling;

var thisQuestion = e.target;

if(thisAnswer.classList.contains('is-collapsed')) {

setAccordionAria(thisQuestion, thisAnswer, 'true');

} else {

setAccordionAria(thisQuestion, thisAnswer, 'false');

}

thisQuestion.classList.toggle('is-collapsed');

thisQuestion.classList.toggle('is-expanded');

thisAnswer.classList.toggle('is-collapsed');

thisAnswer.classList.toggle('is-expanded');

thisAnswer.classList.toggle('animateIn');

};

for (var i=0,len=accordionToggles.length; i

if(touchSupported) {

accordionToggles[i].addEventListener('touchstart', skipClickDelay, false);

}

if(pointerSupported){

accordionToggles[i].addEventListener('pointerdown', skipClickDelay, false);

}

accordionToggles[i].addEventListener('click', switchAccordion, false);

}

})();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值