как остановить AJAX-процедуру, если новое изображение маленькое - PullRequest
0 голосов
/ 15 мая 2018

Я хочу запустить процедуру ajax, только если new img равен 960 x 540, но, похоже, существует проблема с получением результата img.onload.

var src = localStorage.getItem('img');
img = new Image();
img.src = src;
var x = 0;
img.onload = function() {
    if (img.naturalWidth < 960 || img.naturalHeight < 540) {
        $('.cmenu').hide();
        console.log('CHOOSEN IMAGE IS TOO SMALL!');
        x = 1;
        return false; // doesn't work
    }
}
if (x == 1) {return false;}  // doesn't work.
$.ajax({...

Как остановить ajax если изображение меньше чем 960 x 540?

1 Ответ

0 голосов
/ 15 мая 2018

Проблема в том, что img.onload произойдет после загрузки изображения, что также произойдет после проверки if( x == 1 ), которая уже не удалась.Чтобы это работало, я рекомендую поместить вызов ajax внутрь функцию onload, если размер правильный:

img.onload = function() {
    if (img.naturalWidth >= 960 || img.naturalHeight >= 540) {
        $.ajax({...
    }
    else{
        $('.cmenu').hide();
        console.log('CHOOSEN IMAGE IS TOO SMALL!');
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...