За последние 24 часа нас посетили 16150 программистов и 1666 роботов. Сейчас ищут 906 программистов ...

Почему конфликт?

Тема в разделе "JavaScript и AJAX", создана пользователем VampiR_WAR, 29 сен 2012.

  1. VampiR_WAR

    VampiR_WAR Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    409
    Симпатии:
    1
    Адрес:
    Нижний Новгород
    Код (PHP):
    1. <script>
    2.         $(document).ready(function () {
    3.             $("img").lazyload({effect : "fadeIn"});
    4.             $("a[rel='colorbox']").colorbox();
    5.         });
    6.     </script>
    7.  
    8.    <script>
    9.     $(document).ready(function () {
    10.  
    11.     });
    12.     </script>
    Добавлено спустя 9 минут 21 секунду:
    Две анонимные функции?
     
  2. Xumuk

    Xumuk Активный пользователь

    С нами с:
    28 сен 2012
    Сообщения:
    9
    Симпатии:
    0
    в смысле Вы используете 2 раза .ready на одной странице?
     
  3. VampiR_WAR

    VampiR_WAR Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    409
    Симпатии:
    1
    Адрес:
    Нижний Новгород
    ага

    Добавлено спустя 2 минуты 27 секунд:
    Точнее не знаю в чем баг, но если
    первый блок с кодом убрать, то второй работает. А первый так или иначе работает. Проблема в том что первый не хочет работать. Как можно исправить?
     
  4. Xumuk

    Xumuk Активный пользователь

    С нами с:
    28 сен 2012
    Сообщения:
    9
    Симпатии:
    0
    зачем?
    $(document).ready() Устанавливает обработчик готовности дерева DOM
    т.е. обработчик вызывается, когда странаца сформирована и выполняет действия с уже готовыми элементами
    подробнее
    http://jquery.page2page.ru/index.php5/Обработчик_готовности_дерева_DOM

    Добавлено спустя 2 минуты 40 секунд:
    $("a[rel='colorbox']") и $("img") эти элемент вставляется сразу, или они формируются после загрузки страницы?
     
  5. jenya777777

    jenya777777 Активный пользователь

    С нами с:
    16 мар 2010
    Сообщения:
    562
    Симпатии:
    0
    Вполне возможно, у тебя конфликт версий jquery
     
  6. VampiR_WAR

    VampiR_WAR Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    409
    Симпатии:
    1
    Адрес:
    Нижний Новгород
    jenya777777 вряд ли) не раз наступал на эти грабли)

    Добавлено спустя 3 минуты 9 секунд:



    В head страницы добавляются.
     
  7. Xumuk

    Xumuk Активный пользователь

    С нами с:
    28 сен 2012
    Сообщения:
    9
    Симпатии:
    0
    $(document).ready() обработчик выполняется сразу после формирования DOM и только над сформированными элементами, если уже потом что то добавляется, то $(document).ready() обработчик не выполняется, т.к. DOM уже был сформирован,
    один из способов решения проблемы это добавить год
    Код (Text):
    1. $("img").lazyload({effect : "fadeIn"});
    2. $("a[rel='colorbox']").colorbox();
    в функцию, которая добавляет элементы $("a[rel='colorbox']") и $("img")

    Добавлено спустя 4 минуты 20 секунд:
    или я не совсем понял проблему и ввожу Вас в заблуждение
     
  8. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Лучше так не пишите может быть проблема <script>

    Пишите так:

    <script type="text/javascript">

    Было такое, что не написал так и тоже ломал голову, почему не работает.

    А так работает более 1 ready и все оке, по очереди отрабатывают если alert(1), alert(2) запихать.
     
  9. VampiR_WAR

    VampiR_WAR Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    409
    Симпатии:
    1
    Адрес:
    Нижний Новгород
    Возможно, но я ничего не понял)

    Хорошее замечание, но не помогло =(
     
  10. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Создайте в корне папку и киньте в нее 1-ну только библиотеку jquery.
    Создайте в папке файл index.php в нем напишите:
    Код (PHP):
    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4.     <meta charset="utf-8">
    5.     <script type="text/javascript" src="jquery.js"></script>
    6.     <title>Title</title>
    7. </head>
    8. <body>
    9.     <script type="text/javascript">
    10.         $(document).ready(function() {
    11.             alert(1);
    12.         });
    13.         $(document).ready(function() {
    14.             alert(2);
    15.         });
    16.     </script>
    17. </body>
    18. </html>
    Файл сохранить UTF-8(без BOM)
    Перейти:
    http://домен.зона/созданая_папка

    Сработает 2 раза?
    Если, да, то где - то видать косяк с библиотеками или может где не закрыл чего, воспользуйся валидатором и убери синтаксические ошибки.

    Или сам смотри, что там подключал и куда писал.
     
  11. VampiR_WAR

    VampiR_WAR Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    409
    Симпатии:
    1
    Адрес:
    Нижний Новгород
    Uncaught ReferenceError: $ is not defined
    Вот еще такую штуку пишет. Как можно понять?

    Добавлено спустя 8 минут 27 секунд:
    Сработало 2 раза.
     
  12. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
  13. VampiR_WAR

    VampiR_WAR Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    409
    Симпатии:
    1
    Адрес:
    Нижний Новгород
    1.8.2 срабатывала 2 раза. пробовал заменить на той странице на которой не работало, без результатов((
     
  14. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Видимо где - то ошибка синтаксическая в js скрипте по этому отказывается работать.
     
  15. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Говорит о том, что jQuery не инициализирован, либо конфликтует еще с каким-нибудь js-фреймворком.
    Можно попробовать заменить $ на jQuery и посмотреть что еще матюкнется.
     
  16. VampiR_WAR

    VampiR_WAR Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    409
    Симпатии:
    1
    Адрес:
    Нижний Новгород
    Всем спасибо, решено.
    Я подключал сначала скрипт, а потом библиотеку, а нужно было наоборот.