`
hw_alex
  • 浏览: 88404 次
社区版块
存档分类
最新评论

ZK5 and jQuery 2

    博客分类:
  • ZK
阅读更多

ZK 的label组件有setValue方法,如果当它的值发生变化的时候在客户实现一些特殊的效果,我们必须在客户端覆盖setValue操作。

<label id="stockPrice1" value="100" w:setValue="updateWithExplosion"/>

 

覆盖setValue()方法

function NAME (value, fromServer) {
 
        this.$setValue(value, fromServer);
 
	if (this.desktop) {	
		jq(this).WHATEVER_EFFECT
	}
}

 

完整的页面代码

<?page title="Auto Generated index.zul"?>
<zk xmlns:w="http://www.zkoss.org/2005/zk/client">
	<!-- CLIENT SIDE FUNCTIONALITY!	-->
	<?script src="jquery-ui-1.7.2.custom.min.js"?>
	<script>
		<![CDATA[
			function updateWithExplosion (value, fromServer, updateColor) {
				if(this.desktop) {
					jq(this).effect("explode", 
							{}, 
							500);
				}
				this.$setValue(value, fromServer);
				if (this.desktop) {	
					if (updateColor) {
						jq(this.getCaveNode().parentNode.parentNode).css({background: ((value<0) ? 'red':'green')});
						this.setStyle('color: #FFFFFF');
					}
					jq(this).show("drop", {direction : "up"}, 1000);
				}
			}
			function updateWithColorAndExplosion (value, fromServer) {
				updateWithExplosion.call(this, value, fromServer, true);
			}
		]]>
	</script>
	<!-- SERVER SIDE FUNCTIONALITY! -->
	<zscript>
		<![CDATA[
			public void updateStocks() {
				Object[] values = getStockValues();
				Label stockPrice = stockGrid.getFellow(values[0]);
				Label stockDifference = stockGrid.getFellow(values[1]);

				int newValue = ((Number)values[2]).intValue();
				int difference = newValue - Integer.parseInt(stockPrice.getValue());				

				stockPrice.setValue(Long.toString(newValue));
				stockDifference.setValue(Long.toString(difference));
			}
			
			public Object[] getStockValues() {
				int randomControl = (int)Math.ceil(Math.random() * 3);
				return new Object[] {"stockPrice" + randomControl,
					"stockDifference" + randomControl,
					(int)Math.ceil((Math.random() * 10) + 95)};
			}
		]]>
	</zscript>
	<!-- ZUL MARKUP (UI IMPLEMENTATION!) -->
	<timer id="updateTimer" delay="3000" repeats="true" onTimer="updateStocks()" />
	<grid id="stockGrid" fixedLayout="true">
		<columns>
			<column label="股票名称" />
			<column label="股票价格" />
			<column label="股票变化" />
		</columns>
		<rows>
			<row>
				<label id="stockName1" value="Ultra Corp: " />
				<label id="stockPrice1" value="100" w:setValue="updateWithExplosion"/>
				<label id="stockDifference1" value="0"  w:setValue="updateWithColorAndExplosion"/>
			</row>
			<row>
				<label id="stockName2" value="Amazing Corp: " />
				<label id="stockPrice2" value="100" w:setValue="updateWithExplosion"/>
				<label id="stockDifference2" value="0" w:setValue="updateWithColorAndExplosion"/>
			</row>
			<row>
				<label id="stockName3" value="Great Corp: " />
				<label id="stockPrice3" value="100" w:setValue="updateWithExplosion"/>
				<label id="stockDifference3" value="0" w:setValue="updateWithColorAndExplosion"/>
			</row>
		</rows>
	</grid>
</zk>

 

 

分享到:
评论

相关推荐

    zk.chm+jquery.chm

    ZK is the most proven Ajax + Mobile framework designed to maximize enterprise operation efficiency and minimize the development cost by its groundbreaking Direct RIA architecture. zk api jquery api

    基于Java的实例源码-Ajax框架 ZK.zip

    相比jQuery、Dojo、ExtJS等JavaScript框架,ZK的主要优势在于其服务器端处理和事件驱动模型,使得开发者可以专注于业务逻辑,而无需过多关注前端技术细节。同时,由于ZK是基于Java的,对于Java开发者来说,学习曲线...

    前端开发帮助文档

    2. **链式操作**:jQuery对象的方法返回的仍然是jQuery对象,这允许我们连续调用多个方法,如`$("#element").css("color", "red").fadeIn(500);`。 3. **DOM操作**:jQuery提供了简便的API来操作DOM,如`append()`...

    ajax框架的选择.pdf

    Ajax,全称为Asynchronous JavaScript and XML,是一种创建动态网页的技术,允许在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容。这极大地提升了用户体验,使得Web应用更加响应迅速,操作流畅。 Ajax...

    java开源包5

    LVBarcode 支持下列的条形码格式:Codabar,I2of5,Code39,ExCode39?,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的...

    java开源包4

    LVBarcode 支持下列的条形码格式:Codabar,I2of5,Code39,ExCode39?,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的...

    java开源包7

    LVBarcode 支持下列的条形码格式:Codabar,I2of5,Code39,ExCode39?,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的...

    java开源包2

    LVBarcode 支持下列的条形码格式:Codabar,I2of5,Code39,ExCode39?,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的...

    java开源包1

    LVBarcode 支持下列的条形码格式:Codabar,I2of5,Code39,ExCode39?,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的...

    java开源包11

    LVBarcode 支持下列的条形码格式:Codabar,I2of5,Code39,ExCode39?,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的...

    java开源包3

    LVBarcode 支持下列的条形码格式:Codabar,I2of5,Code39,ExCode39?,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的...

    java开源包6

    LVBarcode 支持下列的条形码格式:Codabar,I2of5,Code39,ExCode39?,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的...

    java开源包10

    LVBarcode 支持下列的条形码格式:Codabar,I2of5,Code39,ExCode39?,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的...

    java开源包8

    LVBarcode 支持下列的条形码格式:Codabar,I2of5,Code39,ExCode39?,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的...

    java开源包9

    LVBarcode 支持下列的条形码格式:Codabar,I2of5,Code39,ExCode39?,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的...

    java开源包101

    LVBarcode 支持下列的条形码格式:Codabar,I2of5,Code39,ExCode39?,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的...

    Java资源包01

    LVBarcode 支持下列的条形码格式:Codabar,I2of5,Code39,ExCode39?,EAN-8,EAN-13,Code128 A,Code128 B,Code128 C,MSI,UPC-A,UPC-E. 中文转拼音库 pinyin4j Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的...

Global site tag (gtag.js) - Google Analytics