У меня есть следующий скрипт, который проверяет различные размеры изображения каждый раз, когда карусель загружает элемент и на основе его размера применяет класс. Он работает для всех изображений, кроме одной строки внутри функции.функция пропускает 1 из операторов условия if
Строка, которая не читается:
if (img.width() == '728' && img.height() == '90' || img.width() == '468' && img.height() == '60') {
img.addClass('tops');
}
Сценарий:
$("#carousel-container-mobile, #carousel-container-desktop").on('slid.bs.carousel', function() {
var imgs = $('.item');
$(imgs).each(function() {
var img = $('img', this);
if (img.width() == '320' && img.height() == '50' || img.width() == '300' && img.height() == '50') {
img.addClass('top');
}
if (img.width() == '728' && img.height() == '90' || img.width() == '468' && img.height() == '60') {
img.addClass('tops');
}
if (img.width() == '300' && img.height() == '250') // 300 x 250
{
img.addClass('mid');
}
if (img.width() == '120' && img.height() == '600' || img.width() == '160' && img.height() == '600') // 120 x 600
{
img.addClass('right');
}
});
});
Все другие изображения работают размеры, но они? не знаю почему. Синтаксис кажется правильным, но я чувствую, что это разметка операторов if
?
Fiddle: http://jsfiddle.net/r2wLz6xr/11/
кажется, что он работает в скрипке? – user2079802
protip: кешируйте эти значения. Не назовите 'img.width()' и 'img.height()' все время, установите 'var w = img.width(), h = img.height()' и сделайте ваш бит более легким для чтения , Люди, которых вы просите о помощи, будут рады, что вы это сделали. –
Вы должны окружить && в круглых скобках в if && + || комбо. – Will