У меня есть странная проблема с Safari в оверлее, не отображается правильно при отправке формы.
Что должно произойти, когда нажата кнопка отправки в форме, надпись появляется над формой.
Что происходит, так это то, что ничего не появляется (хотя кажется, что что-то не так, как я не могу нажать кнопку снова). Интересно, хотя я должен отменить загрузку страницы, наложение появляется.
Вот код javascript, который запускается, должна быть представлена форма.
function main_form_overlay() {
var form_outer = jQuery('.main-form'),
form = jQuery('.main-form form'),
html,
overlay;
html = '<div class="loading"><span class="text">Checking 77 Destinations, please Be Patient <i class="fa fa-circle-o-notch fa-spin"></i></span></div>';
form_outer.append(html);
overlay = jQuery('.main-form .loading');
form.on('submit', function(){
console.log("In Here!");
if (!overlay.is(':visible')) {
overlay.show();
console.log("Show Overlay");
} else {
overlay.hide();
console.log("Hide Overlay");
}
});
}
Вот CSS для класса "loading", для чего он стоит.
.loading {
background: rgba(#999, 0.9);
bottom: -10px;
display: none;
left: -20px;
position: absolute;
right: -20px;
top: -10px;
.text {
color: #fff;
font-size: 26px;
font-weight: 700;
left: 0;
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 100%;
}
}
JavaScript загружается (консоль записывает фразы "В здесь" и "Показать наложение" соответственно, и в случае отмены появляется оверлей). Однако наложение не появляется при щелчке.
Я пробовал следующие браузеры, успешно....
- Chrome (Apple Mac)
- Firefox (Apple Mac)
- Internet Explorer (Windows)
Любые идеи были бы полезны. Также, если вам нужно что-нибудь еще, пожалуйста, дайте мне знать.