用live()制作一个jQuery UI Slider

时间:2010-05-24 15:32:01

标签: jquery jquery-ui

如何在jQuery UI中编写Slider代码以使其生效?

这是代码:

    //scrollpane parts
var scrollPane = $('.scroll-pane');
var scrollContent = $('.scroll-content');

//build slider
var scrollbar = $(".slider-vertical").slider({
    orientation: "vertical",
    value: "100",
    slide:function(e, ui){
        if( scrollContent.height() > scrollPane.height() ){ scrollContent.css('margin-top', Math.round( (100 - ui.value) / 100 * ( scrollPane.height() - scrollContent.height() )) + 'px'); }
        else { scrollContent.css('margin-top', 0) }
    }
});

我需要让它生效()

2 个答案:

答案 0 :(得分:4)

我实际上遇到了类似的问题,并想出了如何使用live()和自定义事件初始化我的滑块。这可能会有所帮助(如果不是Deryck,也许是其他人):

$(".slider.minion").live('initMinionSlider', function () {
    $(this).slider({
        range: "min",
        value: 50,
        min: 0,
        max: 100
    });
});

然后只需手动触发事件(我猜通常是在渲染适当的页面/屏幕/视图时):

$(".slider.minion").trigger('initMinionSlider');

答案 1 :(得分:3)

为此查看the livequery plugin。直.live在这里不起作用。