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

          繼續(xù)談?wù)劷换ィ捎谠谀壳暗捻?xiàng)目中真正的去考慮了交互,發(fā)現(xiàn)以前在實(shí)現(xiàn)功能的時候真的完全沒考慮這些,例如怎么樣用戶才能更加方便的找到和使用他想要的功能,還有對于初級用戶、中間用戶和專家用戶系統(tǒng)應(yīng)該分別怎樣去支持好,最近的想法主要是集中在工具欄按鈕和菜單按鈕上,office、IE等等各種客戶端的軟件基本都采用了這樣的方式設(shè)計(jì),而在B/S中其實(shí)同樣如此,而以前在實(shí)現(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);
          }
          運(yùn)行這段js后會發(fā)現(xiàn)刪除的是1、3兩行,而2、4兩行則留下了,這個問題仔細(xì)去看就會發(fā)現(xiàn)非常簡單,是因?yàn)閠ableEle.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)建出來的,運(yùn)行后就發(fā)現(xiàn)radio這個按鈕沒法選中,后來把name屬性放到createElement那段里(document.createElement("<input name=radioBtn>"))才行,而通過radioEle.name這樣屬性賦值的方式就會出現(xiàn)這個問題。

          posted on 2006-09-06 20:10 BlueDavy 閱讀(2842) 評論(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替代了。因?yàn)閐ocument.createElement("<input name=radioBtn>")在Mozilla下是行不通的。  回復(fù)  更多評論   

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

          呃,第二個問題確實(shí)比較古怪。ff下沒問題,IE下用ie dev toolbar一看沒有name屬性,就算在dom explorer里加也加不進(jìn)去。我記得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)計(jì)

          隨筆分類

          隨筆檔案

          文章檔案

          Blogger's

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 清远市| 溧水县| 伊川县| 花莲县| 渝北区| 云霄县| 邢台市| 德庆县| 海原县| 红桥区| 张家港市| 辉县市| 北流市| 丽江市| 皋兰县| 横山县| 贵定县| 隆德县| 景洪市| 济阳县| 常山县| 平和县| 西乌珠穆沁旗| 博爱县| 喀喇| 大足县| 抚顺市| 托里县| 文登市| 大关县| 崇仁县| 华坪县| 高邮市| 贵港市| 阿拉善左旗| 汉源县| 格尔木市| 龙江县| 长乐市| 宜都市| 南雄市|