兩個小問題備忘以及繼續(xù)談交互

          繼續(xù)談?wù)劷换ィ捎谠谀壳暗捻椖恐姓嬲娜タ紤]了交互,發(fā)現(xiàn)以前在實現(xiàn)功能的時候真的完全沒考慮這些,例如怎么樣用戶才能更加方便的找到和使用他想要的功能,還有對于初級用戶、中間用戶和專家用戶系統(tǒng)應(yīng)該分別怎樣去支持好,最近的想法主要是集中在工具欄按鈕和菜單按鈕上,office、IE等等各種客戶端的軟件基本都采用了這樣的方式設(shè)計,而在B/S中其實同樣如此,而以前在實現(xiàn)功能時通常會把這兩者搞得很混淆,導(dǎo)致系統(tǒng)非常的不好用、不方便用,而現(xiàn)在慢慢的開始重視工具欄按鈕和菜單按鈕的區(qū)別,菜單按鈕屬于完整型的,幾乎所有功能都能通過菜單按鈕找到入口,而且在菜單按鈕中還會放置系統(tǒng)中非常少使用的功能以及各種功能的配置入口;而在工具欄中則放置用戶常用的功能以及無需配置可直接起效果的按鈕,象直接打印的按鈕等,菜單和工具欄這兩個東西在About Face書中討論的比較多,不過也只有在真正使用的時候才能領(lǐng)會About Face書中的思想。

          備忘的問題一:
          javascript清空表格中行的問題。
          開始是這么寫的:
          這是table部分:

          < table >
          < tbody? id ="tableId" >
          ????
          < tr >< td > 1 </ td ></ tr >
          ????
          < tr >< td > 2 </ td ></ tr >
          ????
          < tr >< td > 3 </ td ></ tr >
          ????
          < tr >< td > 4 </ td ></ tr >
          </ tbody >
          </ table >
          這是清空表格中行的js:
          var?tableEle=document.getElementById("tableId");
          var?rows=tableEle.getElementsByTagName("tr");
          for(var?i=0;i<rows.length;i++){
          ????tableEle.deleteRow(i);
          }
          運行這段js后會發(fā)現(xiàn)刪除的是1、3兩行,而2、4兩行則留下了,這個問題仔細去看就會發(fā)現(xiàn)非常簡單,是因為tableEle.deleteRow(i)這個問題,當(dāng)i為0時,即刪除了1這行,而當(dāng)i為1時,表格中的行則已經(jīng)變?yōu)榱?、3、4,而這個時候刪除的為序號為1的行,即3這行,再繼續(xù)執(zhí)行的tableEle.deleteRow已經(jīng)沒作用了。
          發(fā)現(xiàn)了這個問題后就很簡單了,就改為tableEle.deleteRow(0)就行了,覺得應(yīng)該有更為簡單的辦法,但目前尚未找到,還望知道的XDJM們告知一聲,thx。
          備忘的問題二:
          動態(tài)創(chuàng)建的radio按鈕無法選中的問題。
          其中radio按鈕是通過
          var?radioEle=document.createElement("input");
          radioEle.type
          ="radio";
          radioEle.name
          ="radioBtn";
          這樣創(chuàng)建出來的,運行后就發(fā)現(xiàn)radio這個按鈕沒法選中,后來把name屬性放到createElement那段里(document.createElement("<input name=radioBtn>"))才行,而通過radioEle.name這樣屬性賦值的方式就會出現(xiàn)這個問題。

          posted on 2006-09-06 20:10 BlueDavy 閱讀(2837) 評論(5)  編輯  收藏 所屬分類: Javascript業(yè)界隨想

          評論

          # re: 兩個小問題備忘以及繼續(xù)談交互 2006-09-07 11:35 Avant

          兩個辦法:
          1) var tableEle=document.getElementById("tableId");
          while(tableEle.firstChild)
          {
          tableEle.removeChild(tableEle.firstChild);
          }
          2) var tableEle=document.getElementById("tableId");
          var rows=tableEle.getElementsByTagName("tr");
          for(var i=rows.length -1; i >=0; i--){
          tableEle.deleteRow(i);
          }  回復(fù)  更多評論   

          # re: 兩個小問題備忘以及繼續(xù)談交互 2006-09-08 19:42 BennyBao

          你的第二個問題我也碰到過,后來用innerHTML替代了。因為document.createElement("<input name=radioBtn>")在Mozilla下是行不通的。  回復(fù)  更多評論   

          # re: 兩個小問題備忘以及繼續(xù)談交互 2006-10-06 11:40 IUSR

          呃,第二個問題確實比較古怪。ff下沒問題,IE下用ie dev toolbar一看沒有name屬性,就算在dom explorer里加也加不進去。我記得IE下很多表單元素都很變態(tài),很多限制,不知道是不是原先被各色人等搞的次數(shù)太多了XD  回復(fù)  更多評論   

          # re: 兩個小問題備忘以及繼續(xù)談交互[未登錄] 2009-08-07 10:05 steven

          var tableEle=document.getElementById("tableId");
          var rows=tableEle.getElementsByTagName("tr");
          for(var i=0;i<rows.length;i++){
          tableEle.deleteRow(0); ---i改為0
          }  回復(fù)  更多評論   

          # re: 兩個小問題備忘以及繼續(xù)談交互 2010-01-11 15:11 liuq

          在tr上增加屬性id="tr_1",id="tr_2"...然后取,再刪,想怎么刪都行  回復(fù)  更多評論   

          公告

           









          feedsky
          抓蝦
          google reader
          鮮果

          導(dǎo)航

          <2006年9月>
          272829303112
          3456789
          10111213141516
          17181920212223
          24252627282930
          1234567

          統(tǒng)計

          隨筆分類

          隨筆檔案

          文章檔案

          Blogger's

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 凤阳县| 镇平县| 哈巴河县| 扶余县| 宜君县| 河池市| 绩溪县| 繁峙县| 肥城市| 游戏| 阳曲县| 长垣县| 马山县| 咸丰县| 兖州市| 湘阴县| 清新县| 云梦县| 伊金霍洛旗| 全南县| 遵义市| 简阳市| 如皋市| 礼泉县| 花垣县| 博白县| 嵊泗县| 施秉县| 三明市| 白河县| 大洼县| 天水市| 滁州市| 姚安县| 集安市| 临清市| 忻城县| 普兰县| 陇川县| 独山县| 雷波县|