почему код JQuery не работает в моем проекте
У меня есть проблема с моим кодом, я хочу измерить общую ширину моего ul и проверить, если он меньше, чем ширина окна, он не показывает переполнение: прокрутка, и если он больше, чем ширина окна, просто скрыть прокрутку под Ли (ы).
каждый li имеет ширину 120px и его поле равно: 0 2px; Вот почему я использую 120 и 4, чтобы подвести итог общей ширины .ulcontainmatrix
Моя проблема: код работает правильно, когда я использую его в консоли браузера и нажимаю Run code, но не работает в моем коде при загрузке окна !!
3 ответа
Большая проблема, и я должен сказать, что вы правы на 90%, , но некоторые изменения необходимы.
Я изменил ваш CSS на это:
И некоторые изменения в вашем коде jquery:
И все работает отлично.
Возможно, вы захотите обернуть свой код jQuery в «готовое» событие.
Это позволит убедиться, что код javascript внутри него будет выполняться только после загрузки вашего документа (следовательно, все элементы, которые могут быть задействованы в вашем коде javascript, существуют в документе)
Другой подход состоит в том, чтобы переместить ваш javascript внизу тега body, но это не рекомендуется (как примечание: рекомендуется загружать файлы javascript внизу документа, если это возможно).
Краткое объяснение, почему это происходит .
В некоторых случаях ваш код javascript может быть выполнен до того, как некоторые элементы в вашем HTML будут добавлены и доступны для использования (процесс рендеринга документа), поэтому, если у вас есть некоторый код jQuery, который намеревается использовать или манипулировать элементом, которого еще нет доступно — ваш код не будет работать (обычно без каких-либо ошибок и заставляет задуматься «почему он не работает?»)
Поэтому проще всего вставить JavaScript после позиции в документе, куда вставляются элементы (обычно в конце документа, непосредственно перед тегом
Источник
Частые ошибки новичков при работе с jQuery
На разного рода форумах, я встречал и встречаю однотипные ошибки, которые допускают новички при работе с библиотекой jQuery и из-за которых их код работает не правильно или вообще не работает. Поэтому, я решил написать статью-шпаргалку, которая поможет исправить свои недочеты самостоятельно или избежать ошибок в будущем.
Консоль должна быть открыта. Закрытая консоль, конечно же, не ошибка в коде, однако, ошибочный подход во время отладки сценария. Именно консоль поможет быстро сориентироваться в том, где и какая допущена ошибка, а также следить за ходом выполнения сценария. Во всех современных браузерах — этот инструмент присутствует по умолчанию. Например, в FireFox консоль можно вызвать с помощью сочетания клавиш Ctrl + Shift + K или «Меню» > «Разработка» > «Веб-консоль«. В Chrome вызывается сочетанием клавиш Ctrl + Shift + J или «Меню» > «Дополнительные инструменты» > «Консоль JavaScript«. В Opera — сочетание клавиш аналогичны Chrome, вызов из меню — «Инструменты разработчика» > «Веб-инспектор» («Инструменты разработчика» предварительно включить в пункте «Другие инструменты»). Кроме того, существуют инструменты/аддоны, как, например, замечательный FireBug под FireFox или Web Developer для Chrome и этот же инструмент для FireFox
Не подключена библиотека. У кого-то этот пункт вызовет улыбку, но могу вас уверить, что по моей личной статистике, как минимум раз в месяц, на форуме появляется вопрос о том, почему ничего не работает, а после долгих выяснений оказывается, что js-файл с библиотекой просто не подключен на странице. Библиотека jQuery должна быть по возможности новее, подключена первой, до скриптов, в которых она используется и в единственном числе. Если вы используете какой-нибудь старенький плагин, которому для работы требуется такая же старая версия jQuery, то есть несколько нормальных путей решения, чем подключение на страницу и новой библиотеки и старой для плагина:
- Оставляем одну новую библиотеку и сразу после неё подключаем плагин jQuery Migrate, который, в большинстве случаев, помогает решить вопрос совместимости.
- Без каких-либо дополнений, сами заменяем в плагине удаленные методы на их современные аналоги. Обычно, это такие устаревшие или удаленные методы, как live(), $.browser и т.д.
- И конечно же, можно найти современный аналог плагина, который вам понравился. Не зацикливайтесь на одном.
Ну, и примерный порядок подключения:
Код не обернут в конструкцию DOM-Ready. Одна из наиболее популярных ошибок. Если ваш скрипт расположен/подключен в теге , то его нужно обязательно заключить в такой код:
Это так называемый «обработчик готовности дерева DOM«. Попробую «на пальца» и простым языком объяснить, что это и зачем нужно. Браузер загружает страницу, начиная с первого на ней элемента и движется вниз. Всё, что подключено в теге : CSS, JS и т.д., загрузится и начнёт выполняться раньше, чем дело дойдёт до элементов, которые находятся в . Поэтому, при обращении к элементу из JS-кода, его еще попросту нет на странице. А обёртка, которую я показал выше, откладывает выполнение сценария до тех пор, пока вся структура страницы не будет загружена браузером полностью. Как вариант, который совсем не лишён логики и даже рекомендуется тем же Google, весь свой код можно расположить в конце страницы, перед закрывающим тегом
Источник
Не работает jQuery на локальном сервере
Помощь в написании контрольных, курсовых и дипломных работ здесь.
JS работает медленно на сервере. На локальном сервере быстро. В чём разница
Вечер добрый Сайт уже загрузил все JS/CSS/HTML. И после этого начинаются лаги. При открытие.
PHP скрипт (SellFileEasy) работает на локальном сервере, но не работает на хостинге
Всем доброго времени суток! Данный скрипт предназначен для продажи файлов. При переходе на.
Код работает на локальном сервере, но на хостинге уже не работает
Привет всем) Помогите плиз. Есть веб проект, который я делал на локальной базе из сборки EasyPHP.
На сайте работает, а на локальном сервере — нет
Здравствуйте. Вот не могу понять, установил сайт на хостинг, потом скачал его оттуда к себе на.
Файл script.js оформите так
Сайт вордпрес не работает на локальном сервере денвер
Столкнулся с такой проблемой, есть сайт вордпрес на локальном сервере, при попытке открыть его в.
Установить куки на домен и сабдомены. На сервере работает, на локальном нет
Добрый день! Как установить куки на домен и сабдомены? Пробовал setcookie(«c_nickname», ‘MCB’.
Запуск на локальном сервере
Здравствуйте, Друзья. Знакомлюсь с HTML. Установил Denwer3 (Ос — Windows7). Создал документ.
Сайт на локальном сервере
Здравствуйте! Есть сайт скаченный с хостинга, сайт готовый и работает, но вся беда в том, что при.
Mail() на локальном сервере
Захотелось потестить функцию mail() на локальном сервере. Я начал гуглить, и почти во всех форумах.
Кодировка на локальном сервере
тестирую сайт на локальном сервере и возникла проблема.. в БД везде проставлена кодировка.
Источник
После ajax не работает jquery?
но при подгрузке новых постов перестает работать слайдер поста
Alexander_peshkov,
В Исходниках фоторамы можно найти кусок кода, отвечающий за инициализацию библиотеки на моменте DOMContentLoaded:
Когда вы выводите изначальное состояние на страницу (1 страница пагинации), карточки инициализируются кодом из фоторамы, а далее — нужно делать это самому.
Соответственно, вам нужно после добавления новых карточек на страницу — инициализировать их, кусок кода выше.
Я нашел такой кусок кода
но что дальше делать в ступоре)
В success callback, Вам нужно вызвать код инициализации :
Зачем вы сделали data-auto=false ? В вашем случае его можно оставить, иначе первая страница инициализироваться не будет.
Я не пользовался фоторамой, у меня под рукой подобного стенда нет,
В теории если вызывать каждый раз после подгрузки новой страницы — то в выборку будут попадать уже инициализированные элементы и могут возникнуть баги.
Вот вам тестовый стенд, где есть эмуляции кнопки «показать еще», нажимаете кнопку — добавляются новые карточки и у них работает фоторама ( в данном стенде фоторама выражается кнопкой фуллскрина в правом верхнем углу картинки )
Источник