Модификация плагина Jcarousel для добавления дополнительных элементов навигации - PullRequest
0 голосов
/ 01 марта 2012

У меня есть jcarousel, настроенный для прокрутки множества изображений, используя стандартные стрелки влево и вправо, которые расположены над изображениями. Я также хотел бы добавить набор стрелок навигации внизу изображений, но мне нужно дать им другое имя класса, чтобы я мог установить их положение. Что мне нужно отредактировать в файле javousecript jcarousel, чтобы добавить эти дополнительные стрелки? Я думаю, что это может быть в этой части кода ...

    = this.list.wrap("<div></div>").parent();
if(this.container.size()===0)this.container=this.clip.wrap("<div></div>").parent();b!==""&&this.container.parent()[0].className.indexOf("jcarousel-skin")==-1&&this.container.wrap('<div class=" '+b+'"></div>');
this.buttonPrev=g(".jcarousel-prev",this.container);
if(this.buttonPrev.size()===0&&this.options.buttonPrevHTML!==null)this.buttonPrev=g(this.options.buttonPrevHTML).appendTo(this.container);
this.buttonPrev.addClass(this.className("jcarousel-prev"));
this.buttonNext= g(".jcarousel-next",this.container);
if(this.buttonNext.size()===0&&this.options.buttonNextHTML!==null)this.buttonNext=g(this.options.buttonNextHTML).appendTo(this.container);
this.buttonNext.addClass(this.className("jcarousel-next"));
this.clip.addClass(this.className("jcarousel-clip")).css({position:"relative"});
this.list.addClass(this.className("jcarousel-list")).css({overflow:"hidden",position:"relative",top:0,margin:0,padding:0}).css(this.options.rtl?"right":"left",0);
this.container.addClass(this.className("jcarousel-container")).css({position:"relative"});

1 Ответ

1 голос
/ 01 марта 2012

Вы можете сделать что-то вроде этого:

$.mycarousel = function(e, o) {
var $elfCarousel = $(e).jcarousel(o), 
$actionsContainer="<div class='other_actions'></div>";
$elfCarousel.wrap("<div></div>").append($actionsContainer);
$actionsContainer.append("<div>bottom Next</div>").click(function(){
    $elfCarousel.find(".jcarousel-next").click();
})
$actionsContainer.append("<div>your other button here</div>").click(function(){/* your other action here*/})
$actionsContainer.append("<div>your last button here</div>").click(function(){/* your last action here*/})
}

Создав свой собственный плагин, оборачивающий jcarousel, вы получите выгоду от исправления ошибок jcarousel.

...