Marik Опубликовано 8 декабря, 2009 Жалоба Share Опубликовано 8 декабря, 2009 Приветствую. Есть страница, на ней <a id="change_region" href="<?php echo $this->url->http('checkout/address/shipping'); ?>" class="blue_button" style="margin-left: 5px;"><span>изменить</span><span class="after"> </span></a> <script type="text/javascript"> $(document).ready(function() { $("#change_region").fancybox({ 'padding' : 10, 'centerOnScroll' : true, 'showCloseButton' : true, 'hideOnOverlayClick': false, 'hideOnContentClick': false, 'showCloseButton' : true, 'callbackOnShow' : function() { $("#fancy_ajax").scrollTo(0,0); } }); }); </script> Соответственно в fancybox загружаем ajax-ом страницу $this->url->http('checkout/address/shipping'). Тут все ок. На самой загружаемой странице есть <a onclick="$.fn.fancybox.close(this);" class="blue_button"><span><?php echo $button_cancel; ?></span><span class="after"> </span></a> Но при клике firebug выдает ошибку и всплывшее окошко не закрывает: opts is undefined anonymous() index.ph...ent/seq/2 (строка 14) function onclick(event) { $.fn.fancybox.close(this); }(click clientX=645, clientY=383) index.ph...ent/seq/3 (строка 2) [Break on this error] <link rel="stylesheet" type="text/css" h...fancybox/jquery.fancybox-1.2.6.css" />\r\n При этом контрол самого fancybox нормально работает. Как сделать так, чтобы кнопка закрывания fancybox в загружаемом Ajax-ом документе нормально работала? PS: Уже пробовал onclick="$(this).fancybox.close();" эффект тот же. PPS: Вот строчка на которую ссылается firebug function _preload_neighbor_images() {if (opts.itemArray.length - 1 > opts.itemCurrent) {var a = opts.itemArray[opts.itemCurrent + 1].href || false;if (a && a.match(imageRegExp)) {objNext = new Image;objNext.src = a;}}if (opts.itemCurrent > 0) {var a = opts.itemArray[opts.itemCurrent - 1].href || false;if (a && a.match(imageRegExp)) {objNext = new Image;objNext.src = a;}}} судя по всему, это код который генерирует сам fancybox, создавая свой объект. но почему эта функция? непонятно... PPPS: Win32, Firefox 3.5.5, Chrome 3.0.195.33 Ссылка на комментарий Поделиться на другие сайты More sharing options...
Marik Опубликовано 8 декабря, 2009 Автор Жалоба Share Опубликовано 8 декабря, 2009 Ну да. На всякий, вот код функции close из fancybox $.fn.fancybox.close = function() { busy = true; $(imagePreloader).unbind(); $(document).unbind("keydown.fb"); $(window).unbind("resize.fb scroll.fb"); $("#fancy_overlay, #fancy_content, #fancy_close").unbind(); $("#fancy_close, #fancy_loading, #fancy_left, #fancy_right, #fancy_title").hide(); __cleanup = function() { if ($("#fancy_overlay").is(':visible')) { $("#fancy_overlay").fadeOut("fast"); } $("#fancy_content").empty(); if (opts.centerOnScroll) { $(window).unbind("resize.fb scroll.fb"); } if (IE6) { $('embed, object, select').css('visibility', 'visible'); } if ($.isFunction(opts.callbackOnClose)) { opts.callbackOnClose(); } busy = false; }; Удивительно для меня то, что opts, т.е. параметры всплывающего окошка всегда заданы, даже если не задавать никаких параметров при создании. Значит они где-то до вызова close удаляются. Ссылка на комментарий Поделиться на другие сайты More sharing options...
Marik Опубликовано 8 декабря, 2009 Автор Жалоба Share Опубликовано 8 декабря, 2009 xct О-е! Спасибо! Убрал, помогло Ссылка на комментарий Поделиться на другие сайты More sharing options...
Redik454 Опубликовано 18 марта, 2015 Жалоба Share Опубликовано 18 марта, 2015 Доброе время суток.Нужна ваша помощь по созданию jquery слайдера наподобие http://net.uanic.name/ , в хейдере с правой стороны. Дайте пожалуйста пример подобного слайдера.Рассмотрю вариант создания слайдера за символическую плату. Ссылка на комментарий Поделиться на другие сайты More sharing options...
Рекомендуемые сообщения
Заархивировано
Эта тема находится в архиве и закрыта для дальнейших ответов.