Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как превратить скрипт в плагин для jquery? (https://javascript.ru/forum/jquery/21588-kak-prevratit-skript-v-plagin-dlya-jquery.html)

lilumi 16.09.2011 12:21

Как превратить скрипт в плагин для jquery?
 
Здравствуйте.

Есть скрипт карусели http://www.dynamicdrive.com/dynamici...epcarousel.htm из которого нужно сделать плагин, так чтобы карусель можно было применять к селектору.

То есть сейчас для вызова карусели используется так:
stepcarousel.setup({
galleryid: 'mygallery', //id of carousel DIV
beltclass: 'belt'
panelclass: 'panel'
})


А необходимо, чтобы ее можно было вызывать вот так:

jQuery(function(){ jQuery("#mygallery").myStepcarousel({
beltclass: 'belt'
panelclass: 'panel'
  });
});


Подозреваю, что это нужно, всего лишь, написать одну функцию, но мои знания в javascript очень поверхностны и поэтому прошу помощи у знатоков.

nikita.mmf 16.09.2011 13:14

например так
(function ($){
var galleryId = 0;
$.fn.stepCarousel = function ( options ) {
  return this.each(function(){
    var id = this.id;
    if ( !id ) { id = this.id = 'gallery'+galleryId++; }
    stepcarousel.setup( $.extend({}, options, { galleryid : id }) );
  });
}
})(jQuery)

lilumi 16.09.2011 14:40

Вложений: 1
Спасибо за помощь, но к сожалению, это не дало результата - вставил этот код и страница вообще перестала грузиться.

Приложил файл для тестирования, пожалуйста, если есть возможность, помогите решить эту задачу.

index.html с измененным кодом
index2.html с оригинальным вызовом функции stepcarousel.setup

sysya 16.09.2011 15:18

Цитата:

Сообщение от lilumi (Сообщение 126743)
Спасибо за помощь, но к сожалению, это не дало результата - вставил этот код и страница вообще перестала грузиться.

Приложил файл для тестирования, пожалуйста, если есть возможность, помогите решить эту задачу.

index.html с измененным кодом
index2.html с оригинальным вызовом функции stepcarousel.setup

Оплата какая будет? И я думаю это в другую ветку форума надо :)

lilumi 16.09.2011 15:45

могу оплатить wmz или wmr, сколько?

nikita.mmf 16.09.2011 16:16

уберите вот эту замечательную строку
document.write('<style type="text/css">\n#'+config.galleryid+'{overflow: hidden;}\n</style>')

и подправьте строку
config.$gallery=$('#'+config.galleryid)

на
config.$gallery=$('#'+config.galleryid).css('overflow', "hidden");

в файле stepcarousel.js

lilumi 16.09.2011 17:15

nikita.mmf,
Спасибо огромное, теперь все работает четко.

lilumi 16.09.2011 17:18

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

Я когда-то писал на delphi и там был удобный дебаггер, где можно было отслеживать ошибки.
А в javascript как ? Я думал, что в firebug во вкладке Скрипт, но там так и не смог найти где ошибка.

nikita.mmf 16.09.2011 17:39

firebug - для firefox, develop toolbar - chrome и safari, ie toolbar - ie


Часовой пояс GMT +3, время: 07:59.