1 <patTemplate:tmpl name="_widget">
\r
2 <script type="text/javascript">
\r
7 var buf = new Array();
\r
9 var currentPos = 1; // データ追加位置(1~6)
\r
13 m3_ajax_request('ajax_sample2', 'act=getdata&count=5&no=' + (maxNo + 1), ajax_success_func, ajax_failure_func);
\r
15 function ajax_success_func(request, retcode, jsondata)
\r
17 //alert(request.responseText);
\r
18 //if (jsondata.message) alert(jsondata.message);
\r
20 if (jsondata.items){
\r
21 for (i = 0; i < jsondata.items.length; i++){
\r
23 var image = new Image();
\r
24 image.src = jsondata.items[i].thumbnail; // 画像プリロード
\r
26 var obj = new Object();
\r
27 obj.no = parseInt(jsondata.items[i].no);
\r
28 obj.thumbnail = jsondata.items[i].thumbnail;
\r
29 obj.message = jsondata.items[i].message;
\r
37 if (buf.length - bufSize > 0) buf = buf.slice(buf.length - bufSize);
\r
40 function ajax_failure_func(request)
\r
42 alert('ajax failure!');
\r
44 function mycarousel_itemLoadCallback(carousel, state)
\r
46 if (state == 'init') return;
\r
48 function makeItem(index, itemObj){
\r
49 var html = '<input class="itemindex" type="hidden" value="' + index + '" /><input class="itemno" type="hidden" value="' + itemObj.no + '" /><div class="thumbnail"><img src="' + itemObj.thumbnail + '" width="64" height="64"></div><div class="info"><a href="#">追加取得</a><span class="cat">説明: データNo=' + itemObj.no + ' 内容=' + itemObj.message + '</span></div>';
\r
53 function mycarousel_initCallback( carousel, state)
\r
59 startTime = new Date();
\r
61 // reset empties it out
\r
62 $('#reset').click( function( evt ) {
\r
66 function itemVisibleIn(carousel, li, index, state)
\r
69 if (state == 'init') return;
\r
71 function itemVisibleOut(carousel, li, index, state)
\r
74 if (state == 'init') return;
\r
77 if (document.hasFocus()){ // アクティブ時のみ処理
\r
79 var currentTime = new Date();
\r
80 if ((currentTime - startTime) / 1000 > 15){ // 15秒単位
\r
84 startTime = new Date();
\r
90 if (maxNo > newItemNo){ // 最新データ取得のとき
\r
92 no = parseInt($(li).children('.itemindex').attr('value')); // 項目順
\r
93 if (no == currentPos){ // データ追加位置のとき
\r
95 var nextItemNo = newItemNo;
\r
96 for (i = 0; i < buf.length; i++){
\r
97 if (nextItemNo < buf[i].no){
\r
98 nextItemNo = buf[i].no;
\r
102 if (nextItemNo > newItemNo){
\r
103 var itemObj = buf[i];
\r
104 $('#item_' + currentPos).html(makeItem(no, itemObj));
\r
105 newItemNo = nextItemNo;
\r
109 if (currentPos > bufSize) currentPos = 1;
\r
115 $("#mycarousel").jcarousel({
\r
117 visible: 3, /* 表示項目数 */
\r
118 auto:5, /* 停止時間(秒) */
\r
120 start:4, /* 先頭項目 */
\r
122 initCallback: mycarousel_initCallback,
\r
123 itemLoadCallback: {onBeforeAnimation: mycarousel_itemLoadCallback},
\r
124 itemVisibleInCallback: {onBeforeAnimation: itemVisibleIn},
\r
125 itemVisibleOutCallback: {onAfterAnimation: itemVisibleOut}
\r
127 startTime = new Date();
\r
131 <ul id="mycarousel" class="jcarousel jcarousel-skin-tango">
\r
132 <li style="list-style-type:none; background:none;" id="item_6">
\r
133 <input class="itemindex" type="hidden" value="6" /><input class="itemno" type="hidden" value="6" />
\r
134 <div class="thumbnail"><img src="{IMG_URL}/default.png" width="64" height="64"></div>
\r
136 <a href="#">初期取得6</a>
\r
137 <span class="cat">説明: 初期取得データ</span>6
\r
141 <li style="list-style-type:none; background:none;" id="item_5">
\r
142 <input class="itemindex" type="hidden" value="5" /><input class="itemno" type="hidden" value="5" />
\r
143 <div class="thumbnail"><img src="{IMG_URL}/default.png" width="64" height="64"></div>
\r
145 <a href="#">初期取得5</a>
\r
146 <span class="cat">説明: 初期取得データ</span>5
\r
149 <li style="list-style-type:none; background:none;" id="item_4">
\r
150 <input class="itemindex" type="hidden" value="4" /><input class="itemno" type="hidden" value="4" />
\r
151 <div class="thumbnail"><img src="{IMG_URL}/default.png" width="64" height="64"></div>
\r
153 <a href="#">初期取得4</a>
\r
154 <span class="cat">説明: 初期取得データ</span>4
\r
157 <li style="list-style-type:none; background:none;" id="item_3">
\r
158 <input class="itemindex" type="hidden" value="3" /><input class="itemno" type="hidden" value="3" />
\r
159 <div class="thumbnail"><img src="{IMG_URL}/default.png" width="64" height="64"></div>
\r
161 <a href="#">初期取得3</a>
\r
162 <span class="cat">説明: 初期取得データ</span>3
\r
165 <li style="list-style-type:none; background:none;" id="item_2">
\r
166 <input class="itemindex" type="hidden" value="2" /><input class="itemno" type="hidden" value="2" />
\r
167 <div class="thumbnail"><img src="{IMG_URL}/default.png" width="64" height="64"></div>
\r
169 <a href="#">初期取得2</a>
\r
170 <span class="cat">説明: 初期取得データ</span>2
\r
173 <li style="list-style-type:none; background:none;" id="item_1">
\r
174 <input class="itemindex" type="hidden" value="1" /><input class="itemno" type="hidden" value="1" />
\r
175 <input class="itemno" type="hidden" value="0" />
\r
176 <div class="thumbnail"><img src="{IMG_URL}/default.png" width="64" height="64"></div>
\r
178 <a href="#">初期取得1</a>
\r
179 <span class="cat">説明: 初期取得データ</span>1
\r
184 </patTemplate:tmpl>
\r