Добрый день, есть код: Код (Javascript): if(window.innerWidth < 992){ ~( function( window ) { 'use strict'; var _default = { color : '#229AC8', product : '.catalog__item', pagination : '.pagination', useRollback: true }; ....... Мне нужно чтобы в product : '.catalog__item', , класс менялся в зависимости есть элемент на странице или нет, я пробую так: Код (Javascript): if($('.catalog__item').length > 0){ var product_class = '.catalog__item'; } else if ($('.catalog__item2').length > 0) ( var product_class = '.catalog__item2'; } и в массиве пишу переменную: Код (Javascript): var _default = { color : '#229AC8', product : product_clas, pagination : '.pagination', useRollback: true }; но не работает такой вариант, подскажите пожалуйста почему? как можно это пофиксить?
product_class и product_clas это в вопросе только опечатка ? Если в коде без опечаток, то попробуй вместо: if($('.catalog__item').length > 0){ заменить на : if($('.catalog__item') !== null){
Проблема в другом, внутри ~( function( window ) не хочет работать jquery нормально, я переделал вот так: Код (Javascript): if(window.innerWidth < 992){ document.addEventListener('DOMContentLoaded', function(){ var product_item = '22', catalog_item = $('.catalog__item'), news_item = $('.news-block__item'); if(catalog_item.length){ product_item = '.catalog__item'; } else if (news_item.length) { product_item = '.news-block__item'; } }); ~( function( window ) { 'use strict'; console.log(product_item); // = Uncaught ReferenceError: product_item is not defined var _default = { color : '#229AC8', product : product_item, pagination : '.pagination', useRollback: true }; В итоге ДО ~( function( window ) product_item работает как нужно, а внутри функции не видит переменную, и так же если весь тот верхний код поместить внутри функции, тупик)) Подскажите пожалуйста, как переменную product_item с нужными данными передать в функцию ~( function( window ) ? На сколько будет правильным заменить Код (Javascript): ~( function( window ) { 'use strict'; НА Код (Javascript): document.addEventListener('DOMContentLoaded', function(){ ?
Значение переменной product_item у вас присваивается после загрузки страницы. Код где используется переменная ,product_item выполняется до присвоения значения product_item: var _default = { color : '#229AC8', product : product_item, pagination : '.pagination', useRollback: true };