老地方冰果室交流區

歡迎冰果室讀者在此交流
現在的時間是 07/20/2019 4:43 am

所有顯示的時間為 UTC + 8 小時




發表新文章 回覆主題  [ 17 篇文章 ] 
發表人 內容
文章發表於 : 07/30/2005 6:03 am 
離線
基本會員
頭像

註冊時間: 12/28/2003 9:42 am
文章: 51
來自: Seattle
各位 Mac 高手,

小弟正在編寫一個簡單的網頁, 主要目的為計算出發生土壤液化的影響因子大小. 計算邏輯很簡單, 不過就是乘法而以. 我是使用 radio botton 來控制數值變化, 每當使用者按下 radio button, 幾個因子數字會隨之改變, 分別為 C-factor, F-factor, and SRF 三個因子. 而我的因子有五大類, 我用 layer 的方式來隱藏/顥示 相對應的選項. 目前遇到幾個問題, 令我百思不得其解 :

1. 我使用 javascript 來控制因子數值的變化, 可以控制 C-factor, F-factor , 但 SRF 就是不會變, 不知為何如此?

2. 我用 Mac Safari 2.0 預覽時, radio button 顥示正常, 按下去會有反應, 但用 Firefox 及 IE 預覽時, radio button 顥示正常, 但按下去沒有反應, 因子的數值不會變化, why??

小弟為這二個問題煩了二三天了, 一直無法突破困境, 希望各位高手能給予指教, 感激不盡 ~~~

我將 web page and css files 放在 iDisk. 有興趣者可以下載試試. 謝謝!

ps. 我用Dreamweaver建立主要架構, javascript 看書參考所寫成. Mac OS 10.4.2 iBook G4 800

my iDisk

_________________
我要買 Mac 啦 ~~~


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 07/30/2005 8:07 am 
離線
討論區管理員
頭像

註冊時間: 04/19/2001 1:01 am
文章: 7056
來自: The '60s
你只要 Uncomment factorF_array() 裡的那兩行就會動了。

另外建議你還是少用 Dreamweaver,用這類工具產生出來的 DHTML 程式碼大概只有鬼才看得懂。

代碼:
function factorF_array(name, value)
{
   //var factorF = new Array('6.0','6.6','0.77','0.8');
   
   if ((name == 'fhist'))
      { factorF[0] = value; }
   else if ((name == 'fgeo'))
      { factorF[1] = value; }
   else if ((name == 'fcomp'))
      { factorF[2] = value; }
   else
      { factorF[3] = value; }
   
   //return factorF;
}

_________________
圖檔


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 07/30/2005 8:15 am 
離線
討論區管理員
頭像

註冊時間: 04/22/2005 7:51 pm
文章: 2894
來自: 台北
FireFox 不支援 innerText 屬性。

對於 IE 在 181 行的地方,你把定義陣列值的 action 拿掉了,所以 factorF[0]~factorF[3] 是沒有值的,

※ 如我的檢驗有錯誤,請見諒


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 07/30/2005 8:21 am 
離線
冰果室元老
頭像

註冊時間: 03/16/2005 5:18 pm
文章: 3205
來自: insoler.com
bryanchang 寫:
你只要 Uncomment factorF_array() 裡的那兩行就會動了。

另外建議你還是少用 Dreamweaver,用這類工具產生出來的 DHTML 程式碼大概只有鬼才看得懂。


喔~這到新鮮~~以前常聽到【少用 FrontPage,用這類工具產生出來的 HTML 超沒效率】現在換成 Dreamweaver??

請問監督先生有什麼更好的建議嗎? Adobe GoLive CS2??


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 07/30/2005 8:25 am 
離線
討論區管理員
頭像

註冊時間: 04/22/2005 7:51 pm
文章: 2894
來自: 台北
進藤光 寫:
bryanchang 寫:
你只要 Uncomment factorF_array() 裡的那兩行就會動了。

另外建議你還是少用 Dreamweaver,用這類工具產生出來的 DHTML 程式碼大概只有鬼才看得懂。


喔~這到新鮮~~以前常聽到【少用 FrontPage,用這類工具產生出來的 HTML 超沒效率】現在換成 Dreamweaver??

請問監督先生有什麼更好的建議嗎? Adobe GoLive CS2??

Adobe GoLive CS2 可以寫網頁喔....!?
我還是喜歡用文字編輯器寫...


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 07/30/2005 8:28 am 
離線
討論區管理員
頭像

註冊時間: 04/19/2001 1:01 am
文章: 7056
來自: The '60s
進藤光 寫:
bryanchang 寫:
你只要 Uncomment factorF_array() 裡的那兩行就會動了。

另外建議你還是少用 Dreamweaver,用這類工具產生出來的 DHTML 程式碼大概只有鬼才看得懂。


喔~這到新鮮~~以前常聽到【少用 FrontPage,用這類工具產生出來的 HTML 超沒效率】現在換成 Dreamweaver??

請問監督先生有什麼更好的建議嗎? Adobe GoLive CS2??


我都用 BBEdit 。

_________________
圖檔


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 07/30/2005 9:35 am 
離線
基本會員
頭像

註冊時間: 12/28/2003 9:42 am
文章: 51
來自: Seattle
謝謝各位的回覆, 但小弟仍有問題想請教.
1. Firefox 不支援 innerText, 那要改用那一種方法(syntax)才能通用 IE, Firefox, Safari ??

2. 所有的變數都只能包含在 function 下嗎? 不是可以定義 global 變數嗎? 現在我的網頁跑起來好像只有寫到 function 裏的 variables 才會被執行. 相當納悶 !! :?

再次謝謝各位的指教~~~

ps. 小弟會考慮白老闆的建議 BBEdit, 但我老闆不會用~~ :)

_________________
我要買 Mac 啦 ~~~


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 07/30/2005 9:46 am 
離線
討論區管理員
頭像

註冊時間: 05/18/2001 1:01 am
文章: 2475
來自: Forgotten Realm
Niner 寫:
Firefox 不支援 innerText, 那要改用那一種方法(syntax)才能通用 IE, Firefox, Safari ??


一般來說在下可能會用一個 text 或 textarea 然後把邊筐用 CSS 藏起來,
處理起來比較簡單。

想要找出各大瀏覽器通用的 Syntax 完全是不可能的任務。
唯一解決方法就是用 nevigator.version 判斷到底是用哪一種瀏覽器,
然後個別撰寫個別的程式碼。

_________________
ash nazg durbatuluk, ash nazg gimbatul,
ash nazg thrakatuluk agh burzum-ishi krimpatul.


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 07/30/2005 9:59 am 
離線
冰果室水電工
頭像

註冊時間: 04/19/2001 1:01 am
文章: 2225
來自: dark side in the earth.
ulysses 寫:
Niner 寫:
Firefox 不支援 innerText, 那要改用那一種方法(syntax)才能通用 IE, Firefox, Safari ??


一般來說在下可能會用一個 text 或 textarea 然後把邊筐用 CSS 藏起來,
處理起來比較簡單。

想要找出各大瀏覽器通用的 Syntax 完全是不可能的任務。
唯一解決方法就是用 nevigator.version 判斷到底是用哪一種瀏覽器,
然後個別撰寫個別的程式碼。


這是唯一要通吃所有瀏覽器的唯一方法。:evil:

不過,一般都只要分辨出IE或其他即可。 :badgrin:

_________________
to be or not to be.


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 07/30/2005 10:57 am 
離線
冰果室元老
頭像

註冊時間: 03/16/2005 5:18 pm
文章: 3205
來自: insoler.com
http://www.chinese-t.adobe.com/products ... /main.html

中文說明只有一段話:

引言回覆:
Adobe GoLive CS2 軟體的直覺式視覺工具可以解除 CSS 功能鎖定;例如,您可以拖放預先編譯的 CSS 物件來建立專業的網站。 輕鬆地將 Adobe InDesign(R) 版面轉成網頁,迅速開始設計工作。 您也可以在一個進階的標準編碼環境中設計網頁和行動裝置內容。


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 07/30/2005 1:10 pm 
離線
基本會員
頭像

註冊時間: 12/28/2003 9:42 am
文章: 51
來自: Seattle
ulysses 寫:
Niner 寫:
Firefox 不支援 innerText, 那要改用那一種方法(syntax)才能通用 IE, Firefox, Safari ??


一般來說在下可能會用一個 text 或 textarea 然後把邊筐用 CSS 藏起來,
處理起來比較簡單。

想要找出各大瀏覽器通用的 Syntax 完全是不可能的任務。
唯一解決方法就是用 nevigator.version 判斷到底是用哪一種瀏覽器,
然後個別撰寫個別的程式碼。


謝謝 ulysses 版大的解釋, 不過對於 "用一個 text 或 textarea 然後把邊筐用 CSS 藏起來" 這可能小弟功力未到, 還在參詳中. 到是用 navigator.version 來判斷 browser , 倒不失為一好方法. 我會再試試. 目前網頁在 Safari 2.0 下完全正常, 但在 IE 下則是 radio button 按下不會變成 "checked" 的樣子 (就是圓圈圈中有亮燈的樣子). 而Firefox 則是完全沒反應....

我會去找 javascript reference book 來研究研究, 若各位有什麼好的線上學習網站, 也歡迎提出意見. 給小弟參考.

to 白老闆, 很不幸的, 我老闆只有 IE.. 不知怎麼讓他改用 Safari.....~~ :roll:

_________________
我要買 Mac 啦 ~~~


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 07/30/2005 4:11 pm 
離線
討論區管理員
頭像

註冊時間: 04/22/2005 7:51 pm
文章: 2894
來自: 台北
Niner 寫:
謝謝各位的回覆, 但小弟仍有問題想請教.
1. Firefox 不支援 innerText, 那要改用那一種方法(syntax)才能通用 IE, Firefox, Safari ??

2. 所有的變數都只能包含在 function 下嗎? 不是可以定義 global 變數嗎? 現在我的網頁跑起來好像只有寫到 function 裏的 variables 才會被執行. 相當納悶 !! :?


用 innerHTML 替代 innerText 囉。
變數宣告在 function 外的都是全域變數,在 function 裡面的是 private。

http://infoserv.com.tw/phorum/read.php?f=4&i=148&t=148
http://msdn.microsoft.com/workshop/auth ... erhtml.asp
http://www.mozilla.org/docs/dom/domref/dom_el_ref8.html

http://www.51windows.net/pages/jscript5 ... /scope.htm


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 07/30/2005 9:26 pm 
離線
討論區管理員
頭像

註冊時間: 05/18/2001 1:01 am
文章: 2475
來自: Forgotten Realm
Niner 寫:
謝謝 ulysses 版大的解釋, 不過對於 "用一個 text 或 textarea 然後把邊筐用 CSS 藏起來" 這可能小弟功力未到, 還在參詳中.


例如這樣

<input type=text name='t1' value='1234' style='border-style: none;' readonly>

IE/Mozilla 可用,不過 Safari 似乎無法把邊筐藏起來... :oops:
這樣的一個文字輸入欄在 IE/Mozilla 中看不見邊筐,無法點選也無法輸入,
可以用 Javascript 直接修改 value 內容,
最適合用來顯示計算結果之類的東西。

_________________
ash nazg durbatuluk, ash nazg gimbatul,
ash nazg thrakatuluk agh burzum-ishi krimpatul.


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 07/31/2005 5:02 am 
離線
基本會員
頭像

註冊時間: 12/28/2003 9:42 am
文章: 51
來自: Seattle
ulysses 寫:
Niner 寫:
謝謝 ulysses 版大的解釋, 不過對於 "用一個 text 或 textarea 然後把邊筐用 CSS 藏起來" 這可能小弟功力未到, 還在參詳中.


例如這樣

<input type=text name='t1' value='1234' style='border-style: none;' readonly>

IE/Mozilla 可用,不過 Safari 似乎無法把邊筐藏起來... :oops:
這樣的一個文字輸入欄在 IE/Mozilla 中看不見邊筐,無法點選也無法輸入,
可以用 Javascript 直接修改 value 內容,
最適合用來顯示計算結果之類的東西。


先謝謝詹姆士的指正, 正在著手改正 innerText, 改用InnerHTML.
也謝謝 ulysses 版大的建議, 小弟打算拿來用到其他的網頁上.
從這次的學習中, 小弟深深感到, 即使你熟讀了 HTML, javascript, XHTML 等技術, 屆時不見得能做出你想要的效果, 所謂 師父領進門, 造化看個人. 還是需要時間的磨練跟經驗. 上來請教各位前輩, 也是一種快速累積經驗的好方法. 小弟再次感謝各位的幫忙. 謝謝 ! :lol:

_________________
我要買 Mac 啦 ~~~


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 07/31/2005 1:38 pm 
離線
基本會員
頭像

註冊時間: 12/28/2003 9:42 am
文章: 51
來自: Seattle
小弟已經用 innerHTML 的語法將網頁修改了, 現在可以依照使用者點選不同的 radio button 來變化各因子的數值. 但我還是有二個小問題不知道如何解決:

1. 在 Firefox 下瀏覽, 點下 radio button 後, 該 button 沒有 "被選起來" 的感覺, 就是說一般點到的 radio button 會是圓圈中間一點綠色. (不知道不同機器是不是也是綠色), 反正就是 button 的小圓圈中要有填滿顏色, 表示被選到. 但我怎麼按都是沒變化, 小圓圈沒被填滿. 只有該變的數字變化而以.

2. 在 IE 下, 除了上述 radio button 的顯示問題外, 我要切換到 Groundwater 的 layer, 點 radio button 才會開始改變各項因子數值, 如果從一開始的 History 項開始, 按任何 radio button 是沒反應的. 這很奇怪, 難道 javascript 執行要很多時間嗎? 不是 load 到使用者端就可以執行了?? :(

上述二個問題, 還望各位能夠解惑, 謝謝.

ps. 我將改好的 web page 放在 iDisk.(請見第一篇連結)

_________________
我要買 Mac 啦 ~~~


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 07/31/2005 4:27 pm 
離線
討論區管理員
頭像

註冊時間: 04/22/2005 7:51 pm
文章: 2894
來自: 台北
首先,你既然是在 Dreamweaver 裡面製作的,怎麼我用它打開一開始就看到兩個怪怪的地方?
分別在:
Line: 622 的 </form>
Line: 678 的 </div>

不過這兩個好像不太影響網頁的顯示,懶得追。

Q:其中在 FireFox、Internet Explorer,顯示正常,但是點選 radio box 的時後可以執行卻不能顯示正常?
A:請把所有 radio box 的 onClick 裡面的 return false 拿掉吧,我也不知道你加上這個的用意... 你 return false 的話,就阻擋了他從 unChecked 變成 Checked 了。

Q:在 Internet Explorer 無法正常運作,點選 radio box 沒有反應?
A:因為你在 Div Layer 裡面用到了 visibility 的 Style,使用這個屬性導致在 Internet Explorer 裡面的所有 Layer 會顯示(佔用空間),但是看不見喔。
但是你又給予 z-index 跟 position 是 absolute 的。
也就是說,所有 Layer 疊住了。
當你在點選 Groundwater 以後可以執行正常,因為你給 Groundwater 的 Layer z-index 是最大的,所以他沒有被其他 Layer 阻擋,點選就正常了。
解決方法最快就是改變 style.visibility → style.display 吧,這個 display 的值常用的有 block、none;顯示、不顯示。


回頂端
 個人資料  
 
 文章主題 :
文章發表於 : 08/01/2005 6:18 am 
離線
基本會員
頭像

註冊時間: 12/28/2003 9:42 am
文章: 51
來自: Seattle
感謝 詹姆士 的詳細解說, 我己經依照指示將網頁改好了, 在 IE 及 Firefox 下正常顯示, 一切數值變化皆符合要求, 真是太棒了! 目前還沒在 Safari 下測試, 不過我想應該沒問題.

再次感謝各位對小弟問題的回答與協助, 感激不盡~~ :D

_________________
我要買 Mac 啦 ~~~


回頂端
 個人資料  
 
顯示文章 :  排序  
發表新文章 回覆主題  [ 17 篇文章 ] 

所有顯示的時間為 UTC + 8 小時


不能 在這個版面發表主題
不能 在這個版面回覆主題
不能 在這個版面編輯您的文章
不能 在這個版面刪除您的文章
不能 在這個版面上傳附加檔案

搜尋:
前往 :  
cron
POWERED_BY
正體中文語系由 竹貓星球 維護製作