2011-01-06 1 views
1

Можно ли использовать слайдер JQuery UI с плагином Joyu Carousel?JQuery Carousel и JQuery UI Slider

http://jqueryui.com/demos/slider/

http://sorgalla.com/projects/jcarousel/

Я предполагаю, что это будет связано с обратных вызовов на change случае плагин слайдера, но я понятия не имею, как связать его.

Мой JQuery в этом этап:

$(document).ready(function() { 
    jQuery('#tiles').jcarousel({ 
     //auto: 2, 
     wrap: 'last' 
    }); 

    $("#slider").slider({ 
     change: function(event, ui) { 
     // callback when the slide event fires.   
     } 
    }); 


}); 

Возможно ли это? Я бы предпочел выяснить это сам, но не знаю, с чего начать.

Я коротко искал слайдер с карусельной функциональностью, но я потерпел неудачу с треском.

Благодаря ~

редактировать обновленный код:

jQuery(document).ready(function() { 

    jQuery("#tiles").jcarousel({ 
     //auto: 2, 
     scroll: 1, 
     buttonNextHTML: null, 
     buttonPrevHTML: null 
    }); 

    $("#slider").slider({ 
     min: 0, 
     max:4, 
     change: function(event, ui) { 
      alert(ui.value); 
      jQuery('#tiles').scroll(jQuery.jcarousel.intval(ui.value));    
     } 
    }); 

}); 

предположительно мне нужно знать заранее, сколько элементов будет, чтобы установить слайдер мин/макс?

еще раз спасибо

ответ

2

Читать исходный код этой страницы - http://sorgalla.com/projects/jcarousel/examples/static_controls.html

В вашем слайдера вы можете использовать:

$("#slider").slider({ 
    change: function(event, ui) {    
     carousel.scroll(jQuery.jcarousel.intval(ui.value));   
    } 
}); 

UPDATE:

function mycarousel_initCallback(carousel) { 
    $(".slider").bind("slidechange", function(event, ui) { 
    carousel.scroll(ui.value); 
    }); 
}; 

jQuery(document).ready(function() { 
    jQuery("#mycarousel").jcarousel({ 
    scroll: 1, 
    initCallback: mycarousel_initCallback, 
    buttonNextHTML: null, 
    buttonPrevHTML: null 
    }); 

    $('.slider1').slider({ 
    value: 1, 
    min:1, 
    max:6,    
    }); 

}); 
+0

Конечно, carousel = jQuery ('# tiles') в вашем случае. – Igor

+0

, который имеет прекрасный смысл, но мне удалось его сломать, опубликовал текущий код в оригинальном post ~. спасибо – Ross

+1

да, я допустил ошибку. Извини за это. Но я исправил - http://pastebin.com/JZG346SE проверить это. – Igor

1

Вы хотите достичь что-то вроде этого? (link)

Существует учебник с исходным кодом, измените ваши CSS/графики, и вы должны быть очень хорошо ;-)

Edit: Вот более мощный слайдер, с богатыми возможностями :) (link)

+0

более или менее да. который выглядит довольно многообещающим, будет выглядеть надлежащим образом, но похоже, что я могу делать то, что хочу, используя вышеизложенное (однажды перестану быть толстым). – Ross

+1

Я обновил сообщение с дополнительной ссылкой, с более продвинутым слайдером. Выглядит многообещающе. – Andreyco

0

Казалось бы

$("#slider").slider({ 
    min:1, 
    max:10, 
    slide: function(event, ui) { 
     //$('#tiles').scroll(jQuery.jcarousel.intval(ui.value)); 
     jQuery('#tiles').jcarousel('scroll',ui.value); 
    } 
}); 

работы. Не уверен, что это лучший способ, но, похоже, это трюк