Suggested case list:
Using timer to refresh a grid
383guest172.69.33.12125nk0uiMay 7, 2020 7:23:47 AMlinkuser model to move item to another listbox
120guest162.158.193.148d0n3krApr 2, 2020 5:28:28 AMlinkDisabled list item row passed to VM-1981
296fatih123160.83.36.13025nk0uiFeb 13, 2018 4:25:44 PMlinkDisabled list item row passed to VM-1981
295fatih123160.83.36.13025nk0uiFeb 13, 2018 4:25:16 PMlinkDisabled list item row passed to VM-1981
294fatih123160.83.36.13225nk0uiFeb 13, 2018 3:30:44 PMlinkgrid sample with ListModel/RowRenderer
816guest80.82.2.1312vah9ajFeb 21, 2017 11:42:21 AMlinkgrid sample with ListModel/RowRenderer
809guest175.98.113.1622vah9ajJan 26, 2017 9:19:33 AMlinkgrid sample with ListModel/RowRenderer
196guest79.185.142.402vah9ajApr 26, 2014 10:53:57 PMlinkgrid sample with ListModel/RowRenderer
195guest79.185.142.402vah9ajApr 26, 2014 10:53:54 PMlinkgrid sample with ListModel/RowRenderer
194guest79.185.142.402vah9ajApr 26, 2014 10:53:51 PMlinkgrid sample with ListModel/RowRenderer
193guest79.185.142.402vah9ajApr 26, 2014 10:53:48 PMlinkgrid sample with ListModel/RowRenderer
192guest79.185.142.402vah9ajApr 26, 2014 10:53:44 PMlinkgrid sample with ListModel/RowRenderer
191guest79.185.142.402vah9ajApr 26, 2014 10:53:40 PMlinkHierarchy table without using ZK PE/EE
1aaknai151.28.135.2131s871daJul 29, 2013 11:02:46 PMlinkgrid sample with ListModel/RowRenderer
128aaknai151.28.135.2132vah9ajJul 29, 2013 7:20:00 PMlinkuser model to move item to another listbox
1TonyQ114.25.109.94d0n3krApr 21, 2012 10:43:27 AMlinkUsing timer to refresh a grid
1TonyQ220.133.44.3725nk0uiFeb 17, 2012 3:17:34 AMlinkFire a event from child iframe
1TonyQ220.133.44.372eupjotFeb 3, 2012 5:04:52 AMlinkTextbox input restriction sample
1TonyQ72.21.245.2431b3nlr0Dec 20, 2011 10:09:10 AMlinkTest web core taglib in ZUL
1TonyQ198.203.175.175ofqkemDec 17, 2011 3:36:08 AMlinkLatest 10 Fiddles :
Another new ZK fiddle
1guest172.71.102.2301fgjpg9May 1, 2024 11:20:42 AMlinkbasic upload button
37guest172.68.31.1503nocidtApr 30, 2024 6:00:06 PMlinkbasic upload button
36guest172.68.31.1513nocidtApr 30, 2024 5:59:30 PMlinklistbox styles
35guest162.158.129.2261nctej6Apr 30, 2024 2:19:32 PMlinkcombobox width
14guest172.69.11.155jndu8mApr 29, 2024 6:25:05 PMlinkcombobox popup width
3guest172.71.234.16775d532Apr 29, 2024 2:00:04 PMlinkBarcodescanner use in Modal Window (with constraint)
2guest172.71.246.120tcutf2Apr 26, 2024 1:52:52 PMlinkBarcodescanner use in Modal Window (with constraint)
1guest172.71.246.120tcutf2Apr 26, 2024 1:52:28 PMlinkBarcodescanner use in Modal Window (with constraint)
1guest162.158.87.361sd60hgApr 26, 2024 1:40:19 PMlinkSimple Tree
3guest172.70.162.811cm49soApr 26, 2024 11:34:34 AMlinkSimple slide with lots of image
1guest66.102.7.1592h6ujj7Oct 21, 2016 2:51:23 PMlinkresources
index.zulzul<zk>
<style>
.the-slider {
width: 420px;
height: 310px;
overflow: hidden;
}
.the-slider div {
width: 1500px;
}
.the-slider div img {
margin: 5px 10px;
width: 400px;
height: 300px;
}
</style>
<script type="text/javascript"><![CDATA[
var contentList = [],
contentLength,
index = 3,
frameWidth = 420,
animateTime = 500,
slideShow;
function setContent (content) {
contentList = content.split(',');
contentLength = contentList.length
}
function startSlideShow (delay) {
var $slider = jq('$slider'),
$container = jq('$container');
slideShow = setInterval (function () {
$slider.animate({'scrollLeft': '+='+frameWidth+'px'}, animateTime, null, function (){
var firstImage = $container.find('img')[0];
// change the src of first image after slide
firstImage.src = contentList[index];
// update index
index = (index+1) % contentLength;
// move the first image to the last
$container[0].appendChild(firstImage);
// reset the scrollLeft of slider
$slider[0].scrollLeft = 0;
});
}, delay);
}
function stopSlideShow () {
clearInterval (slideShow);
}
]]></script>
<div apply="pkg$.TestComposer">
<div id="slider" class="the-slider">
<div id="container">
<image id="imgOne" />
<image id="imgTwo" />
<image id="imgThree" />
</div>
</div>
delay: <intbox id="interval" /> seconds
<button id="start" label="start" />
<button id="stop" label="stop" />
</div>
</zk>TestComposer.javajava
import java.util.*;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.util.Clients;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.*;
public class TestComposer extends GenericForwardComposer {
Image imgOne;
Image imgTwo;
Image imgThree;
Intbox interval;
Button start;
Button stop;
List<String> contentList = null;
int length;
int index = 0;
public void doAfterCompose (Component comp) throws Exception {
super.doAfterCompose(comp);
// init first part image
imgOne.setSrc(getSrc());
imgTwo.setSrc(getSrc());
imgThree.setSrc(getSrc());
Clients.evalJavaScript("setContent('"+getContentString()+"')");
}
public void onClick$start () {
int delay = interval.getValue();
String command = "startSlideShow(" + delay*1000 + ")";
System.out.println(command);
Clients.evalJavaScript(command);
}
public void onClick$stop () {
String command = "stopSlideShow()";
Clients.evalJavaScript(command);
}
private String getContentString() {
StringBuilder sb = new StringBuilder();
List l = getContentList();
for (int i = 0; i < l.size(); i++) {
if (i > 0)
sb.append(",");
sb.append(l.get(i));
}
return sb.toString();
}
private List<String> getContentList () {
if (contentList == null) {
// modify here for dynamic assign images
contentList = new ArrayList<String>();
for (int i = 0; i < 1000; i++)
contentList.add("img/my_draw_"+i+".png");
}
length = contentList.size();
return contentList;
}
private String getSrc () {
String src = getContentList().get(index);
index = (index+1) % length;
return src;
}
}