JCarousel和JqueryUI滑块问题

时间:2010-11-11 15:00:54

标签: jquery-plugins

嗨,我对javascript和Jquery很新。我最近找到了Jcarousel插件,我在sorgalla上尝试了几个例子,但似乎无法弄明白。

我想要的是用数据库中的图像(链接)填充轮播,我想要显示的图像的选择基于我从jqueryui滑块获得的2个日期参数。我的想法是使用“from”和“to”日期参数执行ajax请求到python脚本,该脚本返回JSON格式的图像链接。但我的问题是,当我从滑块中选择一系列新图像时,旋转木马会变成香蕉(显示空盒子或半张图像)。

如果有人能在这里向我推进正确的方向,我将不胜感激,谢谢。 这是我的剧本:

<script type="text/javascript">

function js(){
    $('#mycarousel').empty();
    var start_d=$("#valueAA").val();
    var end_d=$("#valueBB").val();
    $.getJSON("http://www.xxx.com/zzzzzzzzz/cgi-bin/hnf.py"     ,
        {start_d: start_d, end_d: end_d}                                ,
        function(data){
            var encoded = $.toJSON(data);
            for(var i=0; i < data.articles.length; i++) {
                $('#mycarousel').append('<li><img src="' + $.evalJSON(encoded).articles[i].img + '" width="120" height="100" alt="" /></li>');  
            }
            jQuery('#mycarousel').jcarousel({scroll: 1});
        } 
    );
}

$(document).ready(function() {
    $(function(){
        $('select#valueAA, select#valueBB').selectToUISlider({
            sliderOptions: { 
                stop: function(e,ui) {
                    js();
                } 
            }
        });
        labels: 12
        //fix color 
        fixToolTipColor();
    });

    //quick function for tooltip color match
    function fixToolTipColor(){
        //grab the bg color from the tooltip content - set top border of pointer to same
        $('.ui-tooltip-pointer-down-inner').each(function(){
            var bWidth = $('.ui-tooltip-pointer-down-inner').css('borderTopWidth');
            var bColor = $(this).parents('.ui-slider-tooltip').css('backgroundColor')
            $(this).css('border-top', bWidth+' solid '+bColor);
        }); 
    }
});
</script> 

1 个答案:

答案 0 :(得分:0)

找到解决方案:

我不能因为某些原因而清空我的ul,但是修复是将ul放在包装器中并销毁该包装并在每个图像集之间重新创建ul。可能不是最性感的解决方案,但它有效..

溶液:

function js(){
    $('#wrap').remove();
    $('#container').append('<div id ="wrap"></div>');
    $('#wrap').append('<ul id="mycarousel" class="jcarousel-skin-tango"></ul>');
    var start_d=$("#valueAA").val();
    var end_d=$("#valueBB").val();
    $.getJSON("http://www.xxx.com/zzz/cgi-bin/hnf.py"       ,
        {start_d: start_d, end_d: end_d}                                ,
        function(data){
            var encoded = $.toJSON(data);
            for(var i=0; i < data.articles.length; i++) {
                $('#mycarousel').append('<li><img src="' + $.evalJSON(encoded).articles[i].img + '" width="110" height="100" alt="" /></li>');
            }
            jQuery('#mycarousel').jcarousel({scroll: 1});
        } 
    );
}