成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Jscex+jQuery UI打造游戲力度條

開發 前端
如果大家玩過桌球類游戲的話,對力度條的概念一定不會陌生,本節為你講解javascript異步編程之Jscex+jQuery UI打造游戲力度條.

如果大家玩過桌球類游戲的話,對力度條的概念一定不會陌生,如下圖:

a

 還有豎直方向上的力度條,如下圖:

xx

 其實,類似的條條無處不在!比如進游戲時候的進度條、魔獸世界里法師施法過程中讀的條等等······

引入jquery ui,我們可以輕松得到下面這個靜止的力度條:

html:

  1. <div class="progressbar" style=" width: 20%"> 
  2. /div> 

js:

  1. $(function () {  
  2. $(".progressbar").progressbar({  
  3. value: 37  
  4. });  
  5. }); 

效果如下:

加入Jscex讓它動起來:

  1.  <script type="text/javascript"> 
  2. $(function () {  
  3. $(".progressbar").progressbar({  
  4. value: 5  
  5. });  
  6. });  
  7. var executeAsync = eval(Jscex.compile("async", function (proceedValues) {  
  8. while (proceedValues < 100) {  
  9. proceedValues++;  
  10. $await(Jscex.Async.sleep(50));  
  11. $(".progressbar").progressbar({  
  12. value: proceedValues  
  13. });  
  14. }  
  15. }));  
  16. function btnExecuteAsync_onclick() {  
  17. executeAsync(5).start();  
  18. }  
  19. </script> 
  20. <div class="progressbar" style=" width: 20%"> 
  21. </div> 
  22. <input id="btnExecuteAsync" type="button" value="開始" onclick="return btnExecuteAsync_onclick()" /> 

效果如下:

 

但是通常情況下,我們需要它往返無限循環下去,那么我們應該這么實現:

  1. var executeAsync = eval(Jscex.compile("async", function (proceedValues) {  
  2. while (true) {  
  3. while (proceedValues < 100) {  
  4. proceedValues++;  
  5. $await(Jscex.Async.sleep(10));  
  6. $(".progressbar").progressbar({  
  7. value: proceedValues  
  8. });  
  9. }  
  10. if (proceedValues == 100) {  
  11. while (proceedValues > 0) {  
  12. proceedValues--;  
  13. $await(Jscex.Async.sleep(10));  
  14. $(".progressbar").progressbar({  
  15. value: proceedValues  
  16. });  
  17. }  
  18. }  
  19. }  
  20. })); 

效果如下:

 

就在這個時候,我一不小心,把if (proceedValues == 100) { } 注釋掉了,代碼變成這個樣子:

  1. var executeAsync2 = eval(Jscex.compile("async", function (proceedValues) {  
  2. while (true) {  
  3. while (proceedValues < 100) {  
  4. proceedValues++;  
  5. $await(Jscex.Async.sleep(10));  
  6. $(".progressbar3").progressbar({  
  7. value: proceedValues  
  8. });  
  9. }  
  10. //if (proceedValues == 100) {  
  11. while (proceedValues > 0) {  
  12. proceedValues--;  
  13. $await(Jscex.Async.sleep(10));  
  14. $(".progressbar3").progressbar({  
  15. value: proceedValues  
  16. });  
  17. }  
  18. //}  
  19. }  
  20. })); 

我運行一下,等著他報ERROR,結果奇跡出現了,效果如下,和上面一模一樣,沒有報錯!

可以看得出來,內部的兩個while不是同時執行的,而是非常線性的,它們之間會相互等待,而且最開始的執行順序是從上至下,內部的while執行完了,再跳到最外層的while重新執行。

這種設計方式,無疑是優雅的!!

上面那種三個while的方式語意性很好,從剛剛分析得出,代碼還可以這樣寫:

  1. var executeAsync = eval(Jscex.compile("async", function (proceedValues) {  
  2. while (proceedValues < 100) {  
  3. proceedValues++;  
  4. $await(Jscex.Async.sleep(10));  
  5. $(".progressbar").progressbar({  
  6. value: proceedValues  
  7. });  
  8. if (proceedValues == 100) {  
  9. while (proceedValues > 0) {  
  10. proceedValues--;  
  11. $await(Jscex.Async.sleep(10));  
  12. $(".progressbar").progressbar({  
  13. value: proceedValues  
  14. });  
  15. }  
  16. }  
  17. }  
  18. })); 

這樣相當于永遠跳不出最外層的proceedValues < 100,所以也會無限循環下去。

***的Jscex 庫,請上https://github.com/JeffreyZhao/jscex或者http://www.sndacode.com/projects/jscex/wiki下載吧····

【更多javascript異步編程系列】

  1. JavaScript異步編程之用Jscex畫圓
  2. 使用Jscex改善JavaScript異步編程體驗
  3. JavaScript異步編程之Jscex無創痕切入jQueryUI
  4. Jscex模擬重力場與google蘋果logo的比較
責任編輯:陳貽新 來源: zhanglei
相關推薦

2012-06-14 14:09:58

JavaScript

2011-11-10 10:23:56

Jscex

2012-06-14 13:40:04

JavaScript

2011-07-27 14:10:43

javascript

2013-05-31 16:35:37

扁平化UI設計UI設計Flat UI

2013-12-02 14:13:54

jQueryUI

2011-11-16 13:22:38

Jscex

2012-06-14 14:03:19

JavaScript

2011-11-11 13:38:39

Jscex

2011-11-17 16:14:25

Jscex

2012-06-14 14:42:42

JavaScript

2012-06-29 10:20:55

jQuery

2012-10-19 14:51:53

jQueryJSJavaScript

2022-07-27 14:47:01

開源項目

2020-11-03 08:04:30

Windows10

2023-12-27 13:45:00

Python進度條代碼

2022-05-30 22:54:08

元宇宙工具情緒

2014-10-30 10:28:55

Node.js

2021-11-17 11:07:41

虛擬貨幣挖礦貨幣

2012-02-20 09:54:35

ibmdw
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 毛片一区 | 中文字幕 在线观看 | 在线一区二区三区 | 视频一区在线 | 国产 欧美 日韩 一区 | 成人免费视频 | 综合色播 | 久久久久久久久淑女av国产精品 | 91大神xh98xh系列全部 | 精品一区二区三区免费视频 | 国产综合精品一区二区三区 | 91九色在线观看 | 国产精品免费小视频 | 91精品在线播放 | 久久99久久99精品免视看婷婷 | 成人在线免费网站 | 综合精品 | 精品一区二区免费视频 | 91原创视频在线观看 | 天天操天天舔 | 精品久久久久一区 | 亚洲福利一区 | 91精品一区二区三区久久久久 | 最新中文字幕久久 | 国产欧美日韩综合精品一 | 国产精品美女在线观看 | 国产成人精品网站 | 国产中文字幕网 | 蜜桃av一区二区三区 | 久久成人一区 | 久久99视频| 欧美bondage紧缚视频 | 午夜小视频免费观看 | 一区二区三区在线播放 | 中国大陆高清aⅴ毛片 | 国产日韩久久 | 一级网站 | 秋霞电影一区二区三区 | 国产一区三区在线 | 日韩中文字幕在线观看 | 精品久久久久久亚洲综合网站 |