Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

TypeError: $(...).true is not a function Ругается на $('.mfp-bg-quickview').true();


Recommended Posts

Не отрабатывает скрипт:

 

TypeError: $(...).true is not a function

 

 

    success:function (data) {
                        $('.mfp-bg-quickview').true();
                        $data = $(data);
                        var new_data = $data.find('#quickview-container').html;                            
                        $.magnificPopup.open({
                            tLoading: loading_masked_img,
                            items: {
                                src: new_data,
                            },
                            type: 'inline'
                        });
                    }

Надіслати
Поділитися на інших сайтах


19 минут назад, munhgauzen сказал:

Не отрабатывает скрипт:

 

TypeError: $(...).true is not a function

 

 

    success:function (data) {
                        $('.mfp-bg-quickview').true();
                        $data = $(data);
                        var new_data = $data.find('#quickview-container').html;                            
                        $.magnificPopup.open({
                            tLoading: loading_masked_img,
                            items: {
                                src: new_data,
                            },
                            type: 'inline'
                        });
                    }

а что это за метод такой true? вроде в jquery его не было

Надіслати
Поділитися на інших сайтах

 

сори сам запутался,

ругается вот так:

 

TypeError: t.find is not a function

 

Вот на этот кусок кода:

 

    success:function (data) {
                        $('.mfp-bg-quickview').hide();
                        $data = $(data);
                        var new_data = $data.find('#quickview-container').html();                            
                        $.magnificPopup.open({
                            tLoading: loading_masked_img,
                            items: {
                                src: new_data,
                            },
                            type: 'inline'
                        });
                    }

 

 

 

вот весь скрипт:

 

 

<script type="text/javascript">
            var color_schem = '1';
            var loading_masked_img = '<img src="catalog/view/theme/default/image/ring-alt-'+ color_schem +'.svg" />';
            function loading_masked(action) {
                if (action) {
                    $('.loading_masked').html(loading_masked_img);
                    $('.loading_masked').show();
                } else {
                    $('.loading_masked').html('');
                    $('.loading_masked').hide();
                }
            }
            function creatOverlayLoadPage(action) {
                if (action) {
                    $('#messageLoadPage').html(loading_masked_img);
                    $('#messageLoadPage').show();
                } else {
                    $('#messageLoadPage').html('');
                    $('#messageLoadPage').hide();
                }
            }
            function quickview_open(id) {
            $('body').prepend('<div id="messageLoadPage"></div><div class="mfp-bg-quickview"></div>');
                $.ajax({
                    type:'post',
                    data:'quickviewpost=1',
                    url:'index.php?route=product/product&product_id='+id,    
                    beforeSend: function() {
                        creatOverlayLoadPage(true);
                    },
                    complete: function() {
                        $('.mfp-bg-quickview').hide();
                        $('#messageLoadPage').hide();
                        creatOverlayLoadPage(false);
                    },    
                    success:function (data) {
                        $('.mfp-bg-quickview').hide();
                        $data = $(data);
                        var new_data = $data.find('#quickview-container').html();                            
                        $.magnificPopup.open({
                            tLoading: loading_masked_img,
                            items: {
                                src: new_data,
                            },
                            type: 'inline'
                        });
                    }
            });                            
            }
            </script>

Надіслати
Поділитися на інших сайтах


скрипт сам работает на дефолтном opencart 2.3 / Я натягиваю на 2.3 html шаблон(ясное дело он с js-ами)

Какой то конфликт видать возникает между сrриптами шаблона и этим запросом. А вот как искать этот конфликт я не знаю.

Очень слаб и в js и в jquary

Надіслати
Поділитися на інших сайтах


1 час назад, Blast сказал:

а что возвращается в переменную data? Видимо jquery не может создать из этого свой объект

Я уже встречал это) Туда прилетает весь документ со всеми мета тегами, заголовками, описаниями товара, ценами, футерами и т.д... когда data засовывают в jquery он пытается разбить документ на массив и получается что-то вроде $('*') и потом методом find оно пытается найти в получившемся массиве '#quickview-container'  и получить его содержимое .htlm(); но поскольку шаблоны разные, то и итоговый массив получается разным и вот результат...

  • +1 1
Надіслати
Поділитися на інших сайтах


39 минут назад, munhgauzen сказал:

и какое же решение тогда может быть ?

Самым оптимальным решением было бы передать с бекенда не всю страницу, а именно то что нужно

Надіслати
Поділитися на інших сайтах


3 часа назад, munhgauzen сказал:

скрипт сам работает на дефолтном opencart 2.3 / Я натягиваю на 2.3 html шаблон(ясное дело он с js-ами)

Какой то конфликт видать возникает между сrриптами шаблона и этим запросом. А вот как искать этот конфликт я не знаю.

Очень слаб и в js и в jquary

А проблему вообще нужно решать? В шаблоне возможно есть свой скрипт быстрого просмотра. Посмотрите по настройкам и списку модулей.

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

 

Ну или может шаблон отдает какой-то некорректный код, из которого jquery не может создать объект.

Попробуйте еще $data = $.parseHTML(data);

  • +1 1
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.