如何在ezpublish JS滑块中只显示一个图像

时间:2014-07-02 20:03:22

标签: javascript slider

我是一名初学者php开发人员,并且在Javascript中的流利程度令人震惊。我正在研究的一个ezpublish网站将此滑块作为默认代码段,但它显示三个项目。如何编辑它以仅显示1个项目?代码是:

(function(){

YUI(YUI3_config).use('node','event','io-ez',function(Y,result){

Y.on('domready',function(e){

var offset = 0;
var limit = 1;
var total = {$block.valid_nodes|count()};

var handleRequest = function(e) {

    var className = e.target.get('className');
    if ( className == 'carousel-next-button' ) {

        offset += 1;

        if ( offset > total )
            offset = 0;
    }

    if ( className == 'carousel-prev-button' ) {

        var diff = total - offset;

        if( offset == 0 )
            offset = 0;
        else
            offset -= 1;
    }

    var colContent = Y.Node.all('#block-3 .col-content');
    colContent.each(function(n, e) {

        n.addClass('loading');
        var height = n.get('region').bottom - n.get('region').top;
        n.setStyle('height', height + 'px');
        n.set('innerHTML', '');
    });

    var data = 'http_accept=json&offset=' + offset;
    data += '&limit=' + limit;
    data += '&block_id={$block.id}';

    Y.io.ez( 'ezflow::getvaliditems', { on: { success: _callBack 
}, method: 'POST', data: data } );
};

var _callBack = function(id, o) {

    if ( o.responseJSON !== undefined ) {

        var response = o.responseJSON;
        var colContent = Y.Node.all('#block-{$block.id} .col-content');

        for(var i = 0; i < colContent.size(); i++) {

            var colNode = colContent.item(i);
            if ( response.content[i] !== undefined )
                colNode.set('innerHTML', response.content[i] );
        }
    }
};

    var prevButton = Y.one('#block-{$block.id} input.carousel-prev-button');
    prevButton.on('click', handleRequest);

    var nextButton = Y.one('#block-{$block.id} input.carousel-next-button');
    nextButton.on('click', handleRequest);

});
});

})();
</script>

这样做的手很棒x

1 个答案:

答案 0 :(得分:0)

在我看来,在用户点击prevButtonnextButton后,此代码会加载每个项目。因此,强制只显示单个项目的最简单方法可能是隐藏这些按钮。

如果没有标记,很难说最佳解决方案是什么,但我会尝试找出是什么让你正在使用的特定标记进入旋转木马(我猜一个包含&#34; carousel&#34;)的类,并将其删除,以便它只是一个没有轮播功能的项目。

对于它的价值,这个问题不是eZ Publish或PHP特有的,所以我考虑删除那些标签。