【发布时间】:2016-08-01 21:48:35
【问题描述】:
我在尝试让我的菜单在点击时淡入时遇到了一个小问题,一旦我点击关闭按钮,淡出就会起作用。当我在脚本中添加淡入淡出(下面是我正在使用的)时,它会显示一个奇怪的淡入淡出故障,可以在这里看到https://jsfiddle.net/7u6q6jzu/3/。发生的情况是菜单似乎已加载,然后添加了淡入淡出脚本。我使用了错误的脚本还是遗漏了什么?任何帮助都会很棒。
$(function() { // Onload
$(".open-overlay").click(function() {
$(".overlay").fadeIn(1000);
});
$(".close-overlay").click(function() {
$(".overlay").fadeOut(1000);
});
});
这是我的菜单代码。此脚本打开菜单并使用滚动条来溢出菜单,而不是使用辅助滚动条。
var body = document.body,
overlay = document.querySelector('.overlay'),
overlayBtts = document.querySelectorAll('div[class$="overlay"]');
[].forEach.call(overlayBtts, function(btt) {
"use strict";
btt.addEventListener('click', function() {
/* Detect the button class name */
var overlayOpen = this.className === 'open-overlay';
/* Toggle the aria-hidden state on the overlay and the no-scroll class on the body */
overlay.setAttribute('aria-hidden', !overlayOpen);
body.classList.toggle('noscroll', overlayOpen);
/* On some mobile browser when the overlay was previously opened and scrolled, if you open it again it doesn't reset its scrollTop property */
overlay.scrollTop = 0;
}, false);
});
【问题讨论】:
-
看起来像是结合了 css
transition和 jQuery 过渡
标签: javascript jquery html css