Может кто-нибудь, пожалуйста, помогите с изворотливым, если заявлением, попробовать, как я мог, я не вижу ничего плохого с ним, что код работает, когда снаружи, если заявление:Отзывчивый Javascript
var sizeBefore;
var sizeAfterResize;
var sizeBreakPoint;
var resizeTimer;
$(function() {
sizeBefore = $(window).width();
sizeBreakPoint = 500;
doneResizing();
});
function doneResizing(){
sizeAfterResize = $(window).width();
if ((sizeBefore < sizeBreakPoint) && (sizeAfterResize >= sizeBreakPoint)) {
alert('Before:' + sizeBefore);
alert('After:' + sizeAfterResize);
sizeBefore = sizeAfterResize;
// THIS RUNS WHEN OUTSIDE IF STATEMENT
}
}
$(window).resize(function() {
//doneResizing();
clearTimeout(resizeTimer);
resizeTimer = setTimeout(doneResizing, 100);
});
EDIT: Это заявление должно быть верно как на документ, готовый или завершение изменения размера только тогда, когда изменения размеров окна от меньшего, чем sizeBreakPoint
до больше, чем sizeBreakPoint
- надеюсь, что это проясняет
EDIT: РЕШЕНИЕ
var sizeBefore;
var sizeAfterResize;
var sizeBreakPoint;
var resizeTimer;
$(function() {
sizeBefore = $(window).width();
sizeBreakPoint = 500;
doneResizing();
});
function doneResizing(){
sizeAfterResize = $(window).width();
if ((sizeBefore < sizeBreakPoint) && (sizeAfterResize >= sizeBreakPoint)) {
alert('Before:' + sizeBefore);
alert('After:' + sizeAfterResize);
}
sizeBefore = sizeAfterResize;
}
$(window).resize(function() {
clearTimeout(resizeTimer);
resizeTimer = setTimeout(doneResizing, 100);
});
Почему '$ (функция() { sizeBefore = $ (окно) .width(); sizeBreakPoint = 500; doneResizing();} );' завернутые в JQuery? – howderek
@howderek Разве это не так, как делать «$ (document) .ready»? – Deleteman
Если это работает из инструкции if, я предполагаю, что правила if неверны. У вас есть console.logged значения if, чтобы убедиться, что вы входите в if? – monxas