如何使用JSF制作图像幻灯片?

时间:2011-02-23 16:04:21

标签: java jsf slideshow

有可能吗?如果答案是否定的,还有其他想法吗?

图片列表是动态的,取决于您正在查看的用户。 如何使用用户上传的图像制作幻灯片?

现在它正在以这种方式工作: 将显示一张图片,您需要将其关闭以打开下一张图片。

<rich:dataGrid  id="albumGrid" value="#{someBean.pictures}" var="item" columns="4" elements="4" width="450px" rendered="#{not empty someBean.pictures}" style="margin-left:20px;">

                <a4j:commandLink id="fullLinkProfile">
                    <a4j:actionparam name="pic" value="#{item.path}" assignTo="#{picsBean.path}" />
                    <h:graphicImage value="/home/pictures/user/#{item.path}" rendered="#{item.path != null}"/>
                </a4j:commandLink>
                <f:facet name="footer">
                    <rich:datascroller for="albumGrid" boundaryControls="hide" stepControls="show"  fastControls="hide" >                       
                    </rich:datascroller>
                </f:facet>              

</rich:dataGrid>

1 个答案:

答案 0 :(得分:1)

使用任何javascript幻灯片放映功能并将bean值参数传递给它,它具有逗号(,)分隔的图像路径值。

使用jQuery可以获得最佳效果。

同时检查this

使用以下函数创建传递bean值的html代码,然后与任何jQuery插件集成。

function loadImage(imgPaths)
{
    var images = imgPaths;
    var imgArr=images.split(",");
    var ulobj=document.getElementById("parentDiv");
    var i;
    var len =imagePath_array.length-1;
    for(i=0;i<len;i++)
    {
        var imgObj=document.createElement("img");
        var liObj=document.createElement("li");
        imgObj.src=imgArr[i];
        liObj.appendChild(imgObj);
        ulobj.appendChild(liObj);
    }
}