У меня есть панель навигации, в которой есть кнопка меню гамбургера. Меню навигации работало во всех браузерах, прежде чем добавить анимацию javascript для открытия/закрытия. В нескольких старых браузерах сценарий, к сожалению, не позволяет открывать меню, если щелкнуть. Но он работает на большинстве новых браузеров. Мне нужно, чтобы сценарий остановился, если он не выполняется должным образом, чтобы старые браузеры могли открыть панель навигации.If/Else Javascript, чтобы отключить анимацию перехода, если не удалось
Я написал легкое исправление, чтобы остановить выполнение скрипта, если «что-то» является ложным.
if (something == false) {
<!--animation script goes here -->
stop
}
Изменение «чего-то» на разные вещи дало мне интересные результаты. Если я изменю его на
if (data == false) {
<!--animation script goes here -->
stop
}
Тогда он полностью остановит сценарий даже в браузерах, которые раньше играли анимацию.
Вопрос в том, что я могу заменить «что-то», чтобы остановить скрипт, если он не сработал успешно?
Вот сценарий анимации, если вам это нужно. (Не позволяйте этому напугать вас. Все, что мне нужно, чтобы остановить этот скрипт, если анимация не удается.)
! function() {
"use strict";
function e() {
var e, t = document.createElement("div"),
n = {
transition: "transitionend",
OTransition: "otransitionend",
MozTransition: "transitionend",
WebkitTransition: "webkitTransitionEnd"
};
for (e in n)
if (n.hasOwnProperty(e) && void 0 !== t.style[e]) return n[e];
return !1
}
function t(e) {
var t = {};
e = e || window.event, t.evTarget = e.currentTarget || e.srcElement;
var n = t.evTarget.getAttribute("data-target");
return t.dataTarget = n ? document.querySelector(n) : !1, t
}
function n(e) {
var t = e.style.height;
e.style.height = "auto";
var n = getComputedStyle(e).height;
return e.style.height = t, e.offsetHeight, n
}
function a(e, t) {
if (document.createEvent) {
var n = document.createEvent("HTMLEvents");
n.initEvent(t, !0, !1), e.dispatchEvent(n)
} else e.fireEvent("on" + t)
}
function r(e, t) {
e.classList.remove("collapse"), e.classList.add("collapsing"), t.classList.remove("collapsed"), t.setAttribute("aria-expanded", !0), e.style.height = n(e), u ? e.addEventListener(u, function() {
s(e)
}, !1) : s(e)
}
function i(e, t) {
e.classList.remove("collapse"), e.classList.remove("in"), e.classList.add("collapsing"), t.classList.add("collapsed"), t.setAttribute("aria-expanded", !1), e.style.height = getComputedStyle(e).height, e.offsetHeight, e.style.height = "0px"
}
function s(e) {
e.classList.remove("collapsing"), e.classList.add("collapse"), e.setAttribute("aria-expanded", !1), "0px" !== e.style.height && (e.classList.add("in"), e.style.height = "auto")
}
function o(e) {
e.preventDefault();
var n = t(e),
a = n.dataTarget;
return a.classList.contains("in") ? i(a, n.evTarget) : r(a, n.evTarget), !1
}
function l(e) {
function n() {
try {
i.parentNode.removeChild(i), a(i, "closed.bs.alert")
} catch (e) {
window.console.error("Unable to remove alert")
}
}
e.preventDefault();
var r = t(e),
i = r.dataTarget;
if (!i) {
var s = r.evTarget.parentNode;
s.classList.contains("alert") ? i = s : s.parentNode.classList.contains("alert") && (i = s.parentNode)
}
return a(i, "close.bs.alert"), i.classList.remove("in"), u && i.classList.contains("fade") ? i.addEventListener(u, function() {
n()
}, !1) : n(), !1
}
function c(e) {
e = e || window.event;
var t = e.currentTarget || e.srcElement;
return t.parentElement.classList.toggle("open"), !1
}
function d(e) {
e = e || window.event;
var t = e.currentTarget || e.srcElement;
return t.parentElement.classList.remove("open"), e.relatedTarget && "dropdown" !== e.relatedTarget.getAttribute("data-toggle") && e.relatedTarget.click(), !1
}
for (var u = e(), g = document.querySelectorAll("[data-toggle=collapse]"), v = 0, f = g.length; f > v; v++) g[v].onclick = o;
for (var p = document.querySelectorAll("[data-dismiss=alert]"), h = 0, m = p.length; m > h; h++) p[h].onclick = l;
for (var L, T = document.querySelectorAll("[data-toggle=dropdown]"), y = 0, E = T.length; E > y; y++) L = T[y], L.setAttribute("tabindex", "0"), L.onclick = c, L.onblur = d}();
Я думал, кто-то может быть в состоянии только сказать что-то вроде «если (переход == ложь) {stop} "или что-то, что делает это, это было бы идеально.
только маленький совет: 'transition == false' - это то же самое, что'! Transition' и 'transition' для true. не имеет никакого отношения к вопросу, хотя. –
[здесь] (http://stackoverflow.com/questions/6506349/if-browser-css3) - это то, что может вам помочь. –
@KevinKloet Спасибо, что поделились этим. Я не знал, что эта анимация javascript имеет какое-либо отношение к ccs3! Итак, с этой информацией, что я должен добавить до и после сценария анимации, чтобы он не выполнялся для несовместимых браузеров? –