我有两个打开和关闭覆盖区域的按钮。点击关闭覆盖区域
。触发器覆盖它用于显示菜单和.overlay-close,它与多个覆盖使用关闭它们。
.wrap包装所有的内容和幻灯片通过添加覆盖打开权当类.wrap开
这工作.trigger叠加被点击,但不是在.overlay关闭点击了。 See example。 (点击第二张幻灯片中的链接1或链接2)。
什么我需要做下面的JS代码去除.wrap开被点击.overlay关闭时?
JS小提琴: https://jsfiddle.net/cgx8zu2h/
工作实施例: https://www.uk-cpi.com/temp-js/annual-review/
中的JavaScript
(function() {
var triggerBttn = document.getElementsByClassName('trigger-overlay');
var closeBttn = document.getElementsByClassName('overlay-close');
var wrap = document.querySelector('div.wrap');
transEndEventNames = {
'WebkitTransition': 'webkitTransitionEnd',
'MozTransition': 'transitionend',
'OTransition': 'oTransitionEnd',
'msTransition': 'MSTransitionEnd',
'transition': 'transitionend'
},
transEndEventName = transEndEventNames[Modernizr.prefixed('transition')],
support = {
transitions: Modernizr.csstransitions
};
function toggleOverlay() {
var overlay = document.getElementById(this.getAttribute('data-href'));
// If overlay is open
if (classie.has(overlay, 'zap')) {
classie.remove(overlay, 'zap');
classie.remove(wrap, 'wrap-open');
classie.add(overlay, 'close');
var onEndTransitionFn = function(ev) {
if (support.transitions) {
if (ev.propertyName !== 'visibility') return;
this.removeEventListener(transEndEventName, onEndTransitionFn);
}
classie.remove(overlay, 'close');
};
if (support.transitions) {
overlay.addEventListener(transEndEventName, onEndTransitionFn);
} else {
onEndTransitionFn();
}
}
// If overlay isn't closed
else if (!classie.has(overlay, 'close')) {
classie.add(overlay, 'zap');
classie.add(wrap, 'wrap-open');
}
// If overlay is closed
else if (classie.has(overlay, 'close')) {
classie.add(overlay, 'zap');
classie.add(wrap, 'wrap-open');
}
}
for (var i = 0; i < triggerBttn.length; i++) {
triggerBttn[i].addEventListener('click', toggleOverlay);
}
//counts number of closeBttn and remove zap on click for all
for (var i = 0; i < closeBttn.length; i++) {
closeBttn[i].addEventListener('click', function() {
this.parentNode.className = this.parentNode.className.replace(/(?:^|\s)zap(?!\S)/g, '');
});
}
})();
u能告诉我们你对的jsfiddleķ –
您需要添加HTML标记,则请代码。 – Rounin
JS Fiddle现在加入:https://jsfiddle.net/cgx8zu2h/ –