За последние 24 часа нас посетил 17401 программист и 1718 роботов. Сейчас ищут 1515 программистов ...

смена изображений и других параметров(характеристик продукта) при выборе цвета.

Тема в разделе "JavaScript и AJAX", создана пользователем AlexsaiL, 22 ноя 2017.

  1. AlexsaiL

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

    С нами с:
    23 дек 2016
    Сообщения:
    327
    Симпатии:
    23
    Вставлял после вставки, только шаблонизатору не особо нравиться, придется в функцию выносить. Аякс тоже продублировать нужно?
     
  2. Maputo

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

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Продублировать все что в безымянной функции обработчика. В аяксе рекурсия и получится.
     
  3. AlexsaiL

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

    С нами с:
    23 дек 2016
    Сообщения:
    327
    Симпатии:
    23
    Я ниже после закрытия функции
    Код (Javascript):
    1. $(".individOnClick").click(function (event){
    создал новую функцию с именем и эту функцию вызвал внутри первого success после вставки, все отрабатывает, переключается, но при клике на первый цвет (продукта который стоял при загрузке страрнице по умолчанию) он обновляет страницу.
    --- Добавлено ---
    Видимо не правильно прописал), потому что два раза он дает цвет переключить а потом обновляется.
     
  4. Maputo

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

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @AlexsaiL, на первой кнопке такой же класс? По логике вроде бы все правильно прописано. Только не забудьте .off('click'), иначе обработчики будут плодиться на других товарах (это на всякий случай)
     
  5. AlexsaiL

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

    С нами с:
    23 дек 2016
    Сообщения:
    327
    Симпатии:
    23
    тот же класс, .off('click') не забыл, создал функцию после вставки:
    Код (Javascript):
    1. $(function(){
    2.    $(".individOnClick").off('click').click(function (event){
    3.     ....
    4.    });
    5. });
    Но все равно при клике в 3 раз происходит обновление страницы.
     
  6. Maputo

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

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @AlexsaiL, зачем так:
    Код (Javascript):
    1. $(function(){});
    ?
    Как Вы эту функцию потом вызываете?
    Может надо так:
    Код (Javascript):
    1. function name_of_my_function(){}
     
  7. AlexsaiL

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

    С нами с:
    23 дек 2016
    Сообщения:
    327
    Симпатии:
    23
    прописывал так, так со второго клика обновляет
     
  8. Maputo

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

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    @AlexsaiL, со второго клика обновлять могло, потому что в самой этой функции в success нет ее повторного вызова. Что один success, что второй - должны выглядеть одинаково.
     
  9. AlexsaiL

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

    С нами с:
    23 дек 2016
    Сообщения:
    327
    Симпатии:
    23
    name_of_my_function();
    --- Добавлено ---
    сейчас так же с 3-го обновляет. Скопировал функцию
    Код (Javascript):
    1. $(".individOnClick").click(function (event){
    2. ...
    с Аякс-ом и в success после вставки вставил скопированное в новую функцию и изменил на
    Код (Javascript):
    1. $(".individOnClick").off('click').click(function (event){
    , вызвал фунцию.
     
  10. Maputo

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

    С нами с:
    30 июл 2015
    Сообщения:
    1.136
    Симпатии:
    173
    Код (Javascript):
    1. function name_of_my_function(){
    2. $(".individOnClick").off('click').click(function (event){
    3.     ....
    4. // там где post
    5. success: ...
    6.  $('.individAppendJs').html(data);
    7. name_of_my_function();
    8. ...
    9.    });
    10.  
    11. }
     
  11. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    Сегодня твоей теме исполняется неделя.
    Ты убил первую неделю на двухчасовую задачу.
    Поздравляю :)
     
  12. AlexsaiL

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

    С нами с:
    23 дек 2016
    Сообщения:
    327
    Симпатии:
    23
    Спасибо! Вы бы решили эту задачу за два Часа без знаний js?
     
  13. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    нет, но я уже 4 дня ждал чтобы это написать, поэтому не мог удержаться :)
     
  14. AlexsaiL

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

    С нами с:
    23 дек 2016
    Сообщения:
    327
    Симпатии:
    23
    ну теперь хоть будете спать спокойно, сбросив камень с души. Куда уж мне новичку до гуру-мастера, который щелкает задачи по js с первого дня знакомства с js, как орехи за пару часов).
    --- Добавлено ---
    Все прописал, но рекурсия не срабатывает, буду думать, читать литературу, как и что можно сделать, с малыми знаниями далеко не пройду. Все через опыт).
     
    Maputo нравится это.
  15. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    прости пожалуйста)
     
  16. AlexsaiL

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

    С нами с:
    23 дек 2016
    Сообщения:
    327
    Симпатии:
    23
    @Maputo В общем получилось сделать!) сделал так:
    Саму функцию с рекурсией
    Код (Javascript):
    1. function name_of_my_function(){
    2.         $(".individOnClick").off('click').click(function (event){
    3. ....
    4.                 $('.individAppendJs').html(data);
    5.                 name_of_my_function();
    6. ..
    вынес за закрытые скобки этой функции:
    Код (Javascript):
    1. $(".individOnClick").click(function (event){
    2. ...
    3.   });
    И прописываю вызов функции- name_of_my_function(); в :
    Код (Javascript):
    1. $(".individOnClick").click(function (event){
    2. ....
    3. name_of_my_function();
    4. ...
    Осталось теперь разобраться почему в вызываемом Аякс контенте перестал работать скрипт просмотра изображений)).
     
    Maputo и TeslaFeo нравится это.
  17. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    красавчик)
     
  18. AlexsaiL

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

    С нами с:
    23 дек 2016
    Сообщения:
    327
    Симпатии:
    23
    Да это пол работы, надо теперь еще наладить чтобы в подтягивоемом Ajax в контенте все скрипты работали и другое содержимое вкладок чтобы менялось, но Js конечно мозги подвынес, ну зато опыт приобрел, правда времени жалко потраченного.
     
  19. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    относись к этому времени, как к вложению в будущее.
     
    AlexsaiL нравится это.
  20. vaajnur

    vaajnur Новичок

    С нами с:
    15 май 2017
    Сообщения:
    40
    Симпатии:
    3
    это слайдер, без js не обойтись