За последние 24 часа нас посетили 17374 программиста и 1716 роботов. Сейчас ищут 1499 программистов ...

Проблемы с jQ

Тема в разделе "JavaScript и AJAX", создана пользователем KirtuZ, 19 сен 2016.

Метки:
  1. KirtuZ

    KirtuZ Новичок

    С нами с:
    19 сен 2016
    Сообщения:
    31
    Симпатии:
    2
    Так. Потыкал/почитал/покапался, обновил jQuery, перекинул подключение jquery.tools из хэдэра в футер, помогло. Теперь работает из внешнего файла. Но теперь он стал ругаться на другие скрипты. Мол они теперь not a function.
    Получается что какая-то не совместимость у jQuery и jquery.tools?
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    напиши всё в шапку и забей
     
  3. KirtuZ

    KirtuZ Новичок

    С нами с:
    19 сен 2016
    Сообщения:
    31
    Симпатии:
    2
    Разобрался. Он ругался на скрипты которые и не использовались. Они просто были изначально в шаблоне и я не стал их отключать чтоб не сломалось ничего. Теперь отключил их. Все работает. Консоль не ругается.

    Последняя проблема осталась со второй фоткой на странице товара. Он попрежнему увеличивает первую. Хотя ее rel меняется на "#mies2" он все равно продолжает видеть там "#mies1".
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    .attr на .prop замени
    --- Добавлено ---
    да. всё. будет работать норм. я гарантирую это. :D
     
    KirtuZ нравится это.
  5. KirtuZ

    KirtuZ Новичок

    С нами с:
    19 сен 2016
    Сообщения:
    31
    Симпатии:
    2
    Которую из них? Если все меняю или последнюю то перестает переключать #mies, если эту var largeAlt = $(this).attr("title"); то ничего не меняется.
    --- Добавлено ---
    Поспешили с гарантиями. :rolleyes:
     
  6. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    все на проп замени и залей, я б поглядел.
     
  7. KirtuZ

    KirtuZ Новичок

    С нами с:
    19 сен 2016
    Сообщения:
    31
    Симпатии:
    2
    Залил.
    --- Добавлено ---
    Вот еще что замечено.
    Если в этой строчке изначально прописан rel, то увеличение работает, а если нет то нет. Хоть rel и появляется там при клике на миниатюру.

    HTML:
    1. <img id="largeImg" src="<?php echo Product::getImage($product['id']); ?>"
    2.                                         rel="#mies1"/>
    --- Добавлено ---
    По всему выходит что скрипт видит только тот rel который изначально написан. Но отказывается видеть тот который прописывает туда другой скрипт.
     
  8. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    .attr

    .prop
    --- Добавлено ---
    у тебя всё работает как надо. увеличение показывает другой элемент, не тот, где ты меняешь картинку. Эссно там будет одна и та же картика. Ты ж там ничего не меняешь.
     
  9. KirtuZ

    KirtuZ Новичок

    С нами с:
    19 сен 2016
    Сообщения:
    31
    Симпатии:
    2
    Но там два блока для увеличенного фото и он должен показывать один из них выбирая.их по mies. Разве нет?
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а где это в коде у тебя есть?
    --- Добавлено ---
    а, я понял, он типа должен переключать рел, а большое изображение неким магическим образом должно от рел рисоваться.
    --- Добавлено ---
    и оно даже так и работает! прекрасно. Вывод напрашивается такой: Зумилка не читает проп. Она читает аттр. А аттр не меняется никогда.
    --- Добавлено ---
    Код (Javascript):
    1. $(document).ready(function(){
    2.  
    3. //    $("h4").append('<em></em>')
    4.  
    5.     $(".thumbs a").click(function(){
    6.  
    7.         var largePath = $(this).prop("href");
    8.                   var largeAlt = $(this).prop("title");
    9.  
    10.         $("#largeImg").prop({ src: largePath, rel: largeAlt });
    11.         console.log($("#largeImg").prop('rel'));
    12.  
    13. //        $("h4 em").html(" (" + largeAlt + ")");
    14.         return false;
    15.     });
    16. });
    тут всё работает, как задумано.
    --- Добавлено ---
    другую зумилку попробуй.
     
  11. KirtuZ

    KirtuZ Новичок

    С нами с:
    19 сен 2016
    Сообщения:
    31
    Симпатии:
    2
    Ну да, у меня к этому коду претензий и не было. Он переключает главное фото при клике на миниатюру.
    И вот в таком виде
    Код (Javascript):
    1. $(document).ready(function(){
    2.  
    3. //    $("h4").append('<em></em>')
    4.  
    5.     $(".thumbs a").click(function(){
    6.  
    7.         var largePath = $(this).attr("href");
    8.                   var largeAlt = $(this).attr("title");
    9.  
    10.         $("#largeImg").attr({ src: largePath, rel: largeAlt });
    11.  
    12. //        $("h4 em").html(" (" + largeAlt + ")");
    13.         return false;
    14.     });
    15. });
    даже переключает rel.

    А вот зумилка отказывается видеть что он его (rel) переключает...
     
  12. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    смени зумилку код рабочий.
    --- Добавлено ---
    или меняй картинку в зумилке в этом же коде и забей.
     
    KirtuZ нравится это.
  13. KirtuZ

    KirtuZ Новичок

    С нами с:
    19 сен 2016
    Сообщения:
    31
    Симпатии:
    2
    А это идея, надо попробовать.:) Если не получится, то буду искать другую зумилку.

    Спасибо за помощь.:)

    Первый мой опыт поиска помощи из вне, вполне удачный!
     
  14. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Да, ты постиг силу console.log()
    Следующий шаг - брейкпоинты. Ты готов?
     
  15. KirtuZ

    KirtuZ Новичок

    С нами с:
    19 сен 2016
    Сообщения:
    31
    Симпатии:
    2
    Не уверен что постиг console.log, а что там с брейкпойнтами?
     
  16. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а ты прочти про них
     
  17. KirtuZ

    KirtuZ Новичок

    С нами с:
    19 сен 2016
    Сообщения:
    31
    Симпатии:
    2
    Да я вроде прочел и с брейкпойнтами все даже понятнее чем с console.log

    Пока не совсем понимаю как их применить, но знаю что рано или поздно это пригодится...
     
  18. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ставишь точку прерывания на строке, потом мышкой на переменную навёл и всё видать.
     
    KirtuZ нравится это.
  19. KirtuZ

    KirtuZ Новичок

    С нами с:
    19 сен 2016
    Сообщения:
    31
    Симпатии:
    2
    Ну да, теоретически я это понял, но пока не было ситуации в которой бы мне это было нужно:)
     
  20. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    @KirtuZ удобно что программа остановится именно на брейкпоинте, его ставят в подозрительное место, чтобы в этот момент посмотреть состояние программы и значения переменных.
     
    KirtuZ нравится это.
  21. KirtuZ

    KirtuZ Новичок

    С нами с:
    19 сен 2016
    Сообщения:
    31
    Симпатии:
    2
    Я, кстати победил.

    Переписал скрипт вот так

    Код (Javascript):
    1. $(document).ready(function(){
    2.  
    3.     $(".thumbs a").click(function(){
    4.  
    5.         var largePath = $(this).attr("href");
    6.  
    7.         $("#largeImg").attr({ src: largePath});
    8.         $("div#mies1.simple_overlay img").attr({ src: largePath});
    9.        
    10.         return false;
    11.     });
    12. });
    Теперь все работает именно так как я хотел.

    Всем спасибо за помощь.:)

    Отдельная, невероятных размеров благодарность igordata за:

     
  22. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Было. Только что. Но ты не знаком с инструментом и у тебя не возникает идеи его использовать. Познакомиться с инструментом. Освой его.