Код информера нужно вставить в шаблон - это естественно.Вот только как это сделать правильно, непосвящённому.Панель управления-Дизайн-Управление шаблонами.Открыл,что дальше.Если возможно опишите подробно.Извините за наглость.
Скопировал код информера - вида $INFORMER_1$, нашёл в коде шаблона место куда его добавить, и вставил. ... Как ещё ... по другому-то? ... Подробнее - только в картинках. А тут не детский сад и вы не ребёнок. Пробуйте, ошибайтесь, делайте выводы, получайте опыт. Нечего ждать пока разжуют до молока. Тем более такие простые вещи. ...
Клёво,что-то сделал(вставлял информер в шаблон дизайна"глобальные блоки-первый конейнер" Ничего не получилось,появился маленький квадратик.Вроде удалил только то,что вставлял.Пропало меню сайта.В первом контейнере пропало <!--<block1>--> начинается сразу со 2. Дизайн-конструктор меню-например главная страница-изменить пункт меню-отсутствует URL адрес.Как вернуть всё обратно.
Добавлено (12.06.2011, 12:54) --------------------------------------------- Надо сделать ещё один сайт для таких экспериментов.
Надо сделать ещё один сайт для таких экспериментов.
Оч. хорошая мысля.
Quote (anatolij66)
Как вернуть всё обратно.
Восстановится из бекапа (резервной копии шаблонов) ...
Quote (anatolij66)
Клёво,что-то сделал(вставлял информер в шаблон дизайна"глобальные блоки-первый конейнер" Ничего не получилось,появился маленький квадратик.Вроде удалил только то,что вставлял.Пропало меню сайта.В первом контейнере пропало <!--<block1>--> начинается сразу со 2.
... Как вы делаете, как так получается? Почему вставить строку - пять символов - у вас вызывает столько проблем? ... ... Создали информер:
Скопировали его код вставки:
Открыли страницу (или шаблон) вставили в режиме HTML:
Спасибо.Завёл ещё один сайт,буду там проводить эксперименты,чтобы не выглядеть совсем глупым.Свой пока восстановил при помощи нового.
Добавлено (12.06.2011, 19:03) --------------------------------------------- Получилось только с новой страницей.Со своего сайта,с главной страницы;добавление-редактор страниц и далее как описывали.А вот как на своей главной чтобы так было я не могу найти в панели управления (вернее не знаю в какую страницу вставлять)Верхняя часть сайта Нижняя часть сайта Первый контейнер Редактор страниц Страницы сайта Общие шаблоны Таблица стилей (CSS) Пользователи Страница входа пользователей Страница регистрации пользователей Персональная страница пользователя Личные сообщения (ЛС) Страница редактирования данных пользователя Страница со списком пользователей Страница со списком комментариев пользователя Страница "Доступ запрещен" Форма входа пользователей Форма регистрации пользователей Форма редактирования персональной информации Комментарии Вид комментариев Форма добавления комментариев Новости сайта Страница архива материалов Страница материала и комментариев к нему Вид материалов
Добавлено (12.06.2011, 20:19) --------------------------------------------- Пока на учебном сайте получилось на главной показаны фотки,вот только они показаны под каждым (календарь,наш опрос,друзья сайта и т.д.)Пришлось вернуться к первоначальному,продолжаем метод тыка.
Открыли страницу (или шаблон) вставили в режиме HTML:
Мы, т.е. Вы, совсем близко к завершению.Из показанного понял всё,осталось только показать эту страницу(или шаблон) куда мне вставить,чтобы на главной странице сайта это заработало.Ещё раз извините за тупость,но у меня не получается без вас.
Из показанного понял всё,осталось только показать эту страницу(или шаблон) куда мне вставить,чтобы на главной странице сайта это заработало.
... Так. Во первых, давайте ссылку на то, где вы пробуете - дабы я мог видеть что вы делаете. Про шаблоны - это просто. Смотри: Админ-панель (синенькая полосочка высотой в 24px с текстом «Общие», «Управления» и тд) - должна быть у тебя? - Есть? Если есть - смотри дальше. Стоишь на главной - там, где должны быть фотки. Кликаешь в админ-панели (АП - здесь и далее) на пункте «Дизайн» ... Открывается менюшка:
Нам, то есть вам, интересен пункт «Список переменных ...» - запоминаем значение $URI_ID$ - на главной оно равно «page1». Запомните это значение - оно пригодится, и не раз. И как узнать значение - тоже нужно запомнить.
Далее, в том же пункте «Дизайн», кликаем «Управление дизайном страницы» ... открывается исходник шаблона «Страницы сайта» - если открылся (мало ли) другой - переходим на шаблон «Страницы сайта» - это понятно? - За всеиндексные страницы отвечает один шаблон - страницы сайта ... (про индивидуальные шаблоны - позже)
Вот тут нам, то бишь вам, и понадобится значение переменной главной страницы - у всех страниц значение разное - индивидуальное. Пишем условие (откройте блокнот и пишите):
Quote (Код)
<?if($URI_ID$='page1')?>$MYINF_1$<?endif?>
Что означает: Если $URI_ID$ равно page1, то показываем $MYINF_1$. Условие закрывается. Номер информера - копируем из ПУ(панель управления сайтом - здесь и далее) ... там, где его и создавали. То бишь, мы показываем его только на странице с $URI_ID$==page1, на главной.
Код написали. Теперь его нужно вставить. Если нужно добавить в шаблон, то ищем то место где он должен быть. Например перед текстом. Вот это место:
И вставляем код, вместе с условием перед оператором $CONTENT$ ...
Оператор - переменная , окружённая символами «$» - справа и слева, выполняющая какую либо функцию. Здесь и далее. ...
Так же этот информер можно вставить непосредственно в код самой страницы, в таком случае условия не нужны, так как мы добавляем его непосредственно в контент определённой страницы, а не в шаблон. Как добавлять в страницы - описано выше. ...
Примечание: Конструктор шаблонов (вселенское зло в масштабах юКоз′а) должен быть отключён! ...
Сделал печать.Буду пробовать.Извините,зато другим пользователем на данный вопрос будет очень подробный ответ.
Добавлено (13.06.2011, 16:10) --------------------------------------------- Огромное спасибо,получилось.Теперь хоть немного есть понятия об информерах,можно экспериментировать. <?if($URI_ID$='page1')?>$MYINF_1$<?endif?>-только это зачем,вставил копированный код инфомера перед $CONTENT$ .. и сохранил. Ещё бы с надписями "Если $URI_ID$ равно page1, то показываем $MYINF_1$. Условие закрывается". разобраться вообще хорошо было бы.
Доброго времени суток! Вообщем сделал всё по инструкции и всё вроде как работает, но есть проблема. При клике на фотографию он переводит на следующую, но не переводит в нужную часть сайт. То есть якорь почему-то не срабатывает, хотя весь код скопирован полностью..
Помогите, очень нужно решить проблему, так как уже давненько не могу разобраться с этим..
Вообщем сделал всё по инструкции и всё вроде как работает, но есть проблема. При клике на фотографию он переводит на следующую, но не переводит в нужную часть сайт. То есть якорь почему-то не срабатывает, хотя весь код скопирован полностью. Помогите, очень нужно решить проблему, так как уже давненько не могу разобраться с этим.
У вашего сайта, где вы все описанное выше сделали, есть адрес? Поделитесь, дабы взглянуть на “проблему” воочию )
вот и сам адрес http://www.drivevaz.ru/photo даже фотографии не гружу, по причине этой самой проблемы, уж очень надо решить. Жду ответа. Пару фотографий оставил, чтоб вы могли пролистать и определить в чём проблема.
Сообщение отредактировал Spilner - Понедельник, 10.10.2011, 18:06
Где: #nextPhoto - часть якорной ссылки, должна совпадать с именем якоря. Здесь - для вашего сайта. ... То бишь, просто поправьте эту часть скрипта, образующую ссылку на следующую фотку, или просто скопируйте. ... Скрипт (nextPh.js) в прикреплении ... ...
Подскажите. Как в фотоальбоме при клике на фото сделать что бы сменялось следующей фоткой. я заменил альбом лайтбоксом (jquery.lightbox-0.5). Бокс работает, при клике увеличивает фотку, но показывает по одной фотке, а хотелось бы сделать что бы можно было листать вперед и назад. В фотоальбоме на странице с полной фотографией и коментом выглядит так:
// Offering a Custom Alias suport - More info: http://docs.jquery.com/Plugins/Authoring#Custom_Alias (function($) { /** * $ is an alias to jQuery object * */ $.fn.lightBox = function(settings) { // Settings to configure the jQuery lightBox plugin how you like settings = jQuery.extend({ // Configuration related to overlay overlayBgColor: '#000', // (string) Background color to overlay; inform a hexadecimal value like: #RRGGBB. Where RR, GG, and BB are the hexadecimal values for the red, green, and blue values of the color. overlayOpacity: 0.8, // (integer) Opacity value to overlay; inform: 0.X. Where X are number from 0 to 9 // Configuration related to navigation fixedNavigation: false, // (boolean) Boolean that informs if the navigation (next and prev button) will be fixed or not in the interface. // Configuration related to images imageLoading: '/images/lightbox-ico-loading.gif', // (string) Path and the name of the loading icon imageBtnPrev: '/images/lightbox-btn-prev.gif', // (string) Path and the name of the prev button image imageBtnNext: '/images/lightbox-btn-next.gif', // (string) Path and the name of the next button image imageBtnClose: '/images/lightbox-btn-close.gif', // (string) Path and the name of the close btn imageBlank: '/images/lightbox-blank.gif', // (string) Path and the name of a blank image (one pixel) // Configuration related to container image box containerBorderSize: 10, // (integer) If you adjust the padding in the CSS for the container, #lightbox-container-image-box, you will need to update this value containerResizeSpeed: 400, // (integer) Specify the resize duration of container image. These number are miliseconds. 400 is default. // Configuration related to texts in caption. For example: Image 2 of 8. You can alter either "Image" and "of" texts. txtImage: 'Image', // (string) Specify text "Image" txtOf: 'of', // (string) Specify text "of" // Configuration related to keyboard navigation keyToClose: 'c', // (string) (c = close) Letter to close the jQuery lightBox interface. Beyond this letter, the letter X and the SCAPE key is used to. keyToPrev: 'p', // (string) (p = previous) Letter to show the previous image keyToNext: 'n', // (string) (n = next) Letter to show the next image. // Don�t alter these variables in any way imageArray: [], activeImage: 0 },settings); // Caching the jQuery object with all elements matched var jQueryMatchedObj = this; // This, in this context, refer to jQuery object /** * Initializing the plugin calling the start function * * @return boolean false */ function _initialize() { _start(this,jQueryMatchedObj); // This, in this context, refer to object (link) which the user have clicked return false; // Avoid the browser following the link } /** * Start the jQuery lightBox plugin * * @param object objClicked The object (link) whick the user have clicked * @param object jQueryMatchedObj The jQuery object with all elements matched */ function _start(objClicked,jQueryMatchedObj) { // Hime some elements to avoid conflict with overlay in IE. These elements appear above the overlay. $('embed, object, select').css({ 'visibility' : 'hidden' }); // Call the function to create the markup structure; style some elements; assign events in some elements. _set_interface(); // Unset total images in imageArray settings.imageArray.length = 0; // Unset image active information settings.activeImage = 0; // We have an image set? Or just an image? Let�s see it. if ( jQueryMatchedObj.length == 1 ) { settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title'))); } else { // Add an Array (as many as we have), with href and title atributes, inside the Array that storage the images references for ( var i = 0; i < jQueryMatchedObj.length; i++ ) { settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title'))); } } while ( settings.imageArray[settings.activeImage][0] != objClicked.getAttribute('href') ) { settings.activeImage++; } // Call the function that prepares image exibition _set_image_to_view(); } /** * Create the jQuery lightBox plugin interface * * The HTML markup will be like that: <div id="jquery-overlay"></div> <div id="jquery-lightbox"> <div id="lightbox-container-image-box"> <div id="lightbox-container-image"> <img src="../fotos/XX.jpg" id="lightbox-image"> <div id="lightbox-nav"> <a href="#" id="lightbox-nav-btnPrev"></a> <a href="#" id="lightbox-nav-btnNext"></a> </div> <div id="lightbox-loading"> <a href="#" id="lightbox-loading-link"> <img src="../images/lightbox-ico-loading.gif"> </a> </div> </div> </div> <div id="lightbox-container-image-data-box"> <div id="lightbox-container-image-data"> <div id="lightbox-image-details"> <span id="lightbox-image-details-caption"></span> <span id="lightbox-image-details-currentNumber"></span> </div> <div id="lightbox-secNav"> <a href="#" id="lightbox-secNav-btnClose"> <img src="../images/lightbox-btn-close.gif"> </a> </div> </div> </div> </div> * */ function _set_interface() { // Apply the HTML markup into body tag $('body').append('<div id="jquery-overlay"></div><div id="jquery-lightbox"><div id="lightbox-container-image-box"><div id="lightbox-container-image"><img id="lightbox-image"><div style="" id="lightbox-nav"><a href="#" id="lightbox-nav-btnPrev"></a><a href="#" id="lightbox-nav-btnNext"></a></div><div id="lightbox-loading"><a href="#" id="lightbox-loading-link"><img src="' + settings.imageLoading + '"></a></div></div></div><div id="lightbox-container-image-data-box"><div id="lightbox-container-image-data"><div id="lightbox-image-details"><span id="lightbox-image-details-caption"></span><span id="lightbox-image-details-currentNumber"></span></div><div id="lightbox-secNav"><a href="#" id="lightbox-secNav-btnClose"><img src="' + settings.imageBtnClose + '"></a></div></div></div></div>'); // Get page sizes var arrPageSizes = ___getPageSize(); // Style overlay and show it $('#jquery-overlay').css({ backgroundColor: settings.overlayBgColor, opacity: settings.overlayOpacity, width: arrPageSizes[0], height: arrPageSizes[1] }).fadeIn(); // Get page scroll var arrPageScroll = ___getPageScroll(); // Calculate top and left offset for the jquery-lightbox div object and show it $('#jquery-lightbox').css({ top: arrPageScroll[1] + (arrPageSizes[3] / 10), left: arrPageScroll[0] }).show(); // Assigning click events in elements to close overlay $('#jquery-overlay,#jquery-lightbox').click(function() { _finish(); }); // Assign the _finish function to lightbox-loading-link and lightbox-secNav-btnClose objects $('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function() { _finish(); return false; }); // If window was resized, calculate the new overlay dimensions $(window).resize(function() { // Get page sizes var arrPageSizes = ___getPageSize(); // Style overlay and show it $('#jquery-overlay').css({ width: arrPageSizes[0], height: arrPageSizes[1] }); // Get page scroll var arrPageScroll = ___getPageScroll(); // Calculate top and left offset for the jquery-lightbox div object and show it $('#jquery-lightbox').css({ top: arrPageScroll[1] + (arrPageSizes[3] / 10), left: arrPageScroll[0] }); }); } /** * Prepares image exibition; doing a image�s preloader to calculate it�s size * */ function _set_image_to_view() { // show the loading // Show the loading $('#lightbox-loading').show(); if ( settings.fixedNavigation ) { $('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide(); } else { // Hide some elements $('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details- currentNumber').hide(); } // Image preload process var objImagePreloader = new Image(); objImagePreloader.onload = function() { $('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]); // Perfomance an effect in the image container resizing it _resize_container_image_box(objImagePreloader.width,objImagePreloader.height); // clear onLoad, IE behaves irratically with animated gifs otherwise objImagePreloader.onload=function(){}; }; objImagePreloader.src = settings.imageArray[settings.activeImage][0]; }; /** * Perfomance an effect in the image container resizing it * * @param integer intImageWidth The image�s width that will be showed * @param integer intImageHeight The image�s height that will be showed */ function _resize_container_image_box(intImageWidth,intImageHeight) { // Get current width and height var intCurrentWidth = $('#lightbox-container-image-box').width(); var intCurrentHeight = $('#lightbox-container-image-box').height(); // Get the width and height of the selected image plus the padding var intWidth = (intImageWidth + (settings.containerBorderSize * 2)); // Plus the image�s width and the left and right padding value var intHeight = (intImageHeight + (settings.containerBorderSize * 2)); // Plus the image�s height and the left and right padding value // Diferences var intDiffW = intCurrentWidth - intWidth; var intDiffH = intCurrentHeight - intHeight; // Perfomance the effect $('#lightbox-container-image-box').animate({ width: intWidth, height: intHeight },settings.containerResizeSpeed,function() { _show_image(); }); if ( ( intDiffW == 0 ) && ( intDiffH == 0 ) ) { if ( $.browser.msie ) { ___pause(250); } else { ___pause(100); } } $('#lightbox-container-image-data-box').css({ width: intImageWidth }); $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ height: intImageHeight + (settings.containerBorderSize * 2) }); }; /** * Show the prepared image * */ function _show_image() { $('#lightbox-loading').hide(); $('#lightbox-image').fadeIn(function() { _show_image_data(); _set_navigation(); }); _preload_neighbor_images(); }; /** * Show the image information * */ function _show_image_data() { $('#lightbox-container-image-data-box').slideDown('fast'); $('#lightbox-image-details-caption').hide(); if ( settings.imageArray[settings.activeImage][1] ) { $('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show(); } // If we have a image set, display 'Image X of X' if ( settings.imageArray.length > 1 ) { $('#lightbox-image-details-currentNumber').html(settings.txtImage + ' ' + ( settings.activeImage + 1 ) + ' ' + settings.txtOf + ' ' + settings.imageArray.length).show(); } } /** * Display the button navigations * */ function _set_navigation() { $('#lightbox-nav').show();
// Instead to define this configuration in CSS file, we define here. And it�s need to IE. Just. $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' });
// Show the prev button, if not the first image in set if ( settings.activeImage != 0 ) { if ( settings.fixedNavigation ) { $('#lightbox-nav-btnPrev').css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' }) .unbind() .bind('click',function() { settings.activeImage = settings.activeImage - 1; _set_image_to_view(); return false; }); } else { // Show the images button for Next buttons $('#lightbox-nav-btnPrev').unbind().hover(function() { $(this).css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' }); },function() { $(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); }).show().bind('click',function() { settings.activeImage = settings.activeImage - 1; _set_image_to_view(); return false; }); } }
// Show the next button, if not the last image in set if ( settings.activeImage != ( settings.imageArray.length -1 ) ) { if ( settings.fixedNavigation ) { $('#lightbox-nav-btnNext').css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' }) .unbind() .bind('click',function() { settings.activeImage = settings.activeImage + 1; _set_image_to_view(); return false; }); } else { // Show the images button for Next buttons $('#lightbox-nav-btnNext').unbind().hover(function() { $(this).css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' }); },function() { $(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); }).show().bind('click',function() { settings.activeImage = settings.activeImage + 1; _set_image_to_view(); return false; }); } } // Enable keyboard navigation _enable_keyboard_navigation(); } /** * Enable a support to keyboard navigation * */ function _enable_keyboard_navigation() { $(document).keydown(function(objEvent) { _keyboard_action(objEvent); }); } /** * Disable the support to keyboard navigation * */ function _disable_keyboard_navigation() { $(document).unbind(); } /** * Perform the keyboard actions * */ function _keyboard_action(objEvent) { // To ie if ( objEvent == null ) { keycode = event.keyCode; escapeKey = 27; // To Mozilla } else { keycode = objEvent.keyCode; escapeKey = objEvent.DOM_VK_ESCAPE; } // Get the key in lower case form key = String.fromCharCode(keycode).toLowerCase(); // Verify the keys to close the ligthBox if ( ( key == settings.keyToClose ) || ( key == 'x' ) || ( keycode == escapeKey ) ) { _finish(); } // Verify the key to show the previous image if ( ( key == settings.keyToPrev ) || ( keycode == 37 ) ) { // If we�re not showing the first image, call the previous if ( settings.activeImage != 0 ) { settings.activeImage = settings.activeImage - 1; _set_image_to_view(); _disable_keyboard_navigation(); } } // Verify the key to show the next image if ( ( key == settings.keyToNext ) || ( keycode == 39 ) ) { // If we�re not showing the last image, call the next if ( settings.activeImage != ( settings.imageArray.length - 1 ) ) { settings.activeImage = settings.activeImage + 1; _set_image_to_view(); _disable_keyboard_navigation(); } } } /** * Preload prev and next images being showed * */ function _preload_neighbor_images() { if ( (settings.imageArray.length -1) > settings.activeImage ) { objNext = new Image(); objNext.src = settings.imageArray[settings.activeImage + 1][0]; } if ( settings.activeImage > 0 ) { objPrev = new Image(); objPrev.src = settings.imageArray[settings.activeImage -1][0]; } } /** * Remove jQuery lightBox plugin HTML markup * */ function _finish() { $('#jquery-lightbox').remove(); $('#jquery-overlay').fadeOut(function() { $('#jquery-overlay').remove(); }); // Show some elements to avoid conflict with overlay in IE. These elements appear above the overlay. $('embed, object, select').css({ 'visibility' : 'visible' }); } /** / THIRD FUNCTION * getPageSize() by quirksmode.com * * @return Array Return an array with page width, height and window width, height */ function ___getPageSize() { var xScroll, yScroll; if (window.innerHeight && window.scrollMaxY) { xScroll = window.innerWidth + window.scrollMaxX; yScroll = window.innerHeight + window.scrollMaxY; } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac xScroll = document.body.scrollWidth; yScroll = document.body.scrollHeight; } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari xScroll = document.body.offsetWidth; yScroll = document.body.offsetHeight; } var windowWidth, windowHeight; if (self.innerHeight) { // all except Explorer if(document.documentElement.clientWidth){ windowWidth = document.documentElement.clientWidth; } else { windowWidth = self.innerWidth; } windowHeight = self.innerHeight; } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode windowWidth = document.documentElement.clientWidth; windowHeight = document.documentElement.clientHeight; } else if (document.body) { // other Explorers windowWidth = document.body.clientWidth; windowHeight = document.body.clientHeight; } // for small pages with total height less then height of the viewport if(yScroll < windowHeight){ pageHeight = windowHeight; } else { pageHeight = yScroll; } // for small pages with total width less then width of the viewport if(xScroll < windowWidth){ pageWidth = xScroll; } else { pageWidth = windowWidth; } arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight); return arrayPageSize; }; /** / THIRD FUNCTION * getPageScroll() by quirksmode.com * * @return Array Return an array with x,y page scroll values. */ function ___getPageScroll() { var xScroll, yScroll; if (self.pageYOffset) { yScroll = self.pageYOffset; xScroll = self.pageXOffset; } else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict yScroll = document.documentElement.scrollTop; xScroll = document.documentElement.scrollLeft; } else if (document.body) {// all other Explorers yScroll = document.body.scrollTop; xScroll = document.body.scrollLeft; } arrayPageScroll = new Array(xScroll,yScroll); return arrayPageScroll; }; /** * Stop the code execution from a escified time in milisecond * */ function ___pause(ms) { var date = new Date(); curDate = null; do { var curDate = new Date(); } while ( curDate - date < ms); }; // Return the jQuery object for chaining. The unbind method is used to avoid click conflict when the plugin is called more than once return this.unbind('click').click(_initialize); }; })(jQuery); // Call and execute the function immediately passing the jQuery object