Елисей Басенко: дело не в отсутствии единиц, дело именно в том, что не каждое устройство вывода (монитор) даёт достоверную информацию о себе. Информация берётся из EDID, а формат EDID предусматривает запись только целых чисел, ну и в связи с этим, вероятно, возможны погрешности, т.к. размеры матриц редко кратны сантиметру.
У каждого производителя видеоадаптеров есть на сайте софт, позволяющий смотреть EDID. Берёте эту программку, смотрите на EDID, смотрите на байты 21 и 22, которые обозначают соответственно ширину и высоту матрицы. Именно эти значения используются браузером. У моего монитора например в EDID записаны значения 47 и 27, а по факту измерения получились равны 47.6 и 26.7.
Так что cm в CSS это то что вам нужно, браузер честно считает вам сантиметр на основе этих данных, просто производители не запариваются и используют такой формат EDID, который не предусматривает запись дробей, хотя это решило бы проблему.
Поэтому до сих пор самым надёжным способом получить информацию о масштабах дисплея остаётся попросить пользователя взять линейку, померить матрицу и сообщить данные вам.
Отвечая на вопрос "что я делаю не так": всё просто - вы не возвращаете значение из функции apiSend. Вот checkWin у вас возвращает значение, конечно не то которое нужно но всё же ключевое слово return есть:
function checkWin() {
...
return res;
}
А apiSend у вас возвращает undefined, т.к. вы в функции нигде не пишете return:
function apiSend(/* arguments */) {
$.ajax(/* options */);
}
Вы просто выполняете функцию $.ajax и всё.
Конечно это не решает проблему, зато наглядно демонстрирует тот факт, что вы из функции ничего не возвращаете.
Alexey: это я понял. Дело в том, что код у вас правильный логически - из правильного значения 'lang' получается правильная строка для печеньки. Проблема может быть только в этом самом значении. А в свете первого комментария к вашему вопросу ("Последний фрагмент — это PHP-сериализатор") создаётся впечатление, что вы неправильно генерируете HTML.
"Класс который определяет тип минус фразы, и создает необходимый класс" - вот тут я уже совсем потерялся. Под последним словом "класс" вы подразумевали "объект"?
keche: "как видите" - вижу что вы не понимаете что происходит. Размер шрифта надо обнулять не у всего подряд, а у непосредственного родителя этих элементов - .catalog-row
GreenMan1899: если вы про переходы с крайних слайдов, то не думаю чтоб такое свойство было. Я бы слушал событие которое свайпер посылает при переключении слайда, если слайд последний и направление - вправо, то переключать на первый слайд, и наоборот. Не очень красиво, но вроде бы со свайпером по-другому не получится.
Сергей Васенин: как-то так. Не очень красиво, но в целом других вариантов лично я не вижу.
Ещё раз хочу заметить, что такой сложный подход нужен только для того чтобы реализовать именно центрирование, а просто чуть-чуть подвинуть элемент чтобы он был на своём месте можно было и простым отступом.
У свайпера такой принцип работы, что с его использованием при свайпе такое логически невозможно, сами подумайте. Но если сделаете кнопки навигации, то можно будет при переходе с последнего на следующий слайд крутить на первый, и наоборот.
Сергей Васенин: чисто логически для того чтоб что-то центрировать, сначала нужно чтоб было в чем центрировать, относительно чего, какой-то контейнер, границы. Поэтому я и говорю о том, что нужно его создать.
Но вполне возможно что я ошибаюсь и вам сейчас подскажут вариант попроще.
У каждого производителя видеоадаптеров есть на сайте софт, позволяющий смотреть EDID. Берёте эту программку, смотрите на EDID, смотрите на байты 21 и 22, которые обозначают соответственно ширину и высоту матрицы. Именно эти значения используются браузером. У моего монитора например в EDID записаны значения 47 и 27, а по факту измерения получились равны 47.6 и 26.7.
Так что cm в CSS это то что вам нужно, браузер честно считает вам сантиметр на основе этих данных, просто производители не запариваются и используют такой формат EDID, который не предусматривает запись дробей, хотя это решило бы проблему.
Поэтому до сих пор самым надёжным способом получить информацию о масштабах дисплея остаётся попросить пользователя взять линейку, померить матрицу и сообщить данные вам.