MozTW 討論區 https://forum.moztw.org/ |
|
java script 無法完整執行 https://forum.moztw.org/viewtopic.php?f=2&t=5296 |
第 1 頁 (共 1 頁) |
發表人: | 新手 [ 2004-12-27, 11:56 ] |
文章主題 : | java script 無法完整執行 |
我這個網頁用 ff 瀏覽有問題 http://mail.cycivs.tcc.edu.tw/~jiang/XnView/XnView.htm 請問有無完整java 應用在ff 教學可參考 |
發表人: | BobChao [ 2004-12-27, 14:08 ] |
文章主題 : | |
新手 寫:
代碼: if (navigator.appName == "Netscape") {
layerStyleRef="layer."; layerRef="document.layers"; styleSwitch=""; ns=1; } 提醒您:新版的 Netscape 應該都沒 document.layers 這玩意了... 新版 IE 跟 Netscape 都支援 document.getElementById('LayerID').style 的作法 完整java 應用在ff 教學可參考... 是什麼意思... 「適用於 FF 的完整 JavaScript 教學可供參考」? |
發表人: | danielwang [ 2004-12-27, 18:49 ] |
文章主題 : | DOM 的小介紹 |
JavaScript != Java 再重覆 Bob 的話,用 99% 都可支援的 document.getElementById()。現在 IE4 和 Netscape4 加起來市場佔有率都不到 1%,所以 document.all[] 和 document.layers[] 都可以退休了 用名稱存取物件: 代碼: <div id="abc"> : element = document.getElementById('abc'); 用標籤存取物件(陣列): 代碼: <img> : imgs = document.getElementsByTagName; img0 = imgs[0]; 設定屬性 (一): 代碼: element = document.getElementById('bannerImg'); element.src = "banner.png"; element.style.border = "none"; 設定屬性 (二): 代碼: element.setAttribute("src","banner.png"); 樣示存取 (一): 代碼: // 語法: 物件.style.樣示特性 // JS 語法 o.style.color = CSS 語法 { color: } element.style.color = "red"; // JS 語法 o.style.backgroundImage = { background-image } element.style.backgroundImage = "bg.png"; // JS 語法 o.style.setProperty(prop,val) = { prop: val; } element.style.setProperty("-moz-opacity", 0.2); // 長度一定有單位,利如 element.style.top returns "100px" (而不是 100) top = parseInt(element.style.top); top += 100; element.style.top = top + 'px'; // 往下100個像素 樣示存取 (二): 代碼: // 一些樣示 (如 top) 會在顯示處理 (render) 後才有意義 // getComputedStyle() 取得即時計算出的樣式特性 top = parseInt(element.getComputedStyle('top')); 其它物件存取: 代碼: //找文件中第一片斷文字 body = document.body; // 取 <body> 物件 element = body.firstChild; // 取 <body> 內第一個子物件 // firstChild returns 第一個子物件 // lastChild returns 最後一個子物件 // parent returns 母物件 var text = ''; while (text != "") { // 物件可以是<!--註釋-->、元素、文字等等 // 用 NodeType 查,常見的有 // ELEMENT_NODE 1 元素 // TEXT_NODE 3 文字 // COMMENT_NODE 8 註釋 if (element.NodeType == ELEMENT_NODE) { // 是元素。為求簡潔,走個捷徑 // innerText 代表元素內文字 text = element.innerText; break; } if (element.NodeType == TEXT_NODE) { // nodeValue 指節點(物件)的值。 // 文字節點的值就是文字。 // 註:nodeValue 是 read only text = element.nodeValue; break; } // 在 <body> 中後面屬同層的物件; // (要前面的同層物件則用 previousSibling;) element = element.nextSibling; }// end while 設內容 對簡單的 script,firstChild、nextSibling 的有點煩。用 innerText 與 innerHTML 有時比較快 代碼: // 取代內部所有的 HTML element.innerHTML = "<strong>text</strong>"; // 取代內部所有的文字 element.innerText = "hi"; 建立物件 用 innerText 或 innerHTML 雖然簡單,可是對複雜,物件/文字一個一個加入或刪除的 script 不適用 代碼: // 建立新的 <p> 元素
newP = document.createElement("P"); // 建立新的文字 newText = document.createTextNode("hello world"); // 把文字加到新的 <p> 元素內 // 這些物件還不會出現 newP.appendChild(newText); // 加到 <body> 內後才會出現 document.body.appendChild(newP); |
發表人: | member [ 2004-12-27, 19:06 ] |
文章主題 : | |
DOM 的小介紹, 這篇回覆文章不錯. |
發表人: | 新手冊 [ 2004-12-28, 18:04 ] |
文章主題 : | |
我已經依照高手指引以下列程式碼修改完成 function showLayer(layerName) { element = document.getElementById(layerName); element.style.visibility="visible"; } function hideLayer(layerName) { element = document.getElementById(layerName); element.style.visibility="hidden"; } function moveLayerto(layerName,top,left){ element = document.getElementById(layerName); element.style.top=top+'px'; element.style.left=left+'px'; } 用這三個function 來顯示和隱藏功能表單 |
發表人: | danielwang [ 2004-12-28, 20:01 ] |
文章主題 : | |
其實不用那麼麻煩 你可以用 display:none|block 就好了 如果你有 <div id="div1">one</div> <div id="div2">two</div> <div id="div3">three</div> 而 div2 是 { display:none; } 的話,瀏覽器會顯示 one three 反之,如果三個 <div> 都是 position:absolute,而 div2 是 { visibility: hidden; } 的話,則瀏覽器會顯示 one (空出 div2 的空間) three 所以你可以用以下的語法: 代碼: <style type="text/css">
dl.menu dd { margin-left: 0px;} dl.menu dd ul { padding-left: 0px; } /* display 是顯示模式 block 為區塊層 inline 為文字層/同軸 none 為無 list-item 為清單項目 等等 */ dl.menu dd ul li { display: block; // 預設 list-item } </style> <script type="text/javascript"> function toggleMenu(id) { menuList = document.getElementById(id); if (menuList.style.display != 'none') menuList.style.display = 'none'; else menuList.style.display = 'block'; } </script> <dl class="menu"> <dt><a href="#" onclick="toggleMenu('menu1');return false;">XnView起手式</a></dt> <dd id="menu1"> <ul> <li><a href="features.html">程式特色</a></li> <li><a href="install.html">安裝過程</a></li> </ul> </dd> </dt> 還有,我還是建議你不要用 <frameset>。 人手不夠。有興建整理 DOM 方面的說明文件嗎?你可以邊學邊作。 |
發表人: | 訪客 [ 2004-12-29, 15:40 ] |
文章主題 : | |
1.感謝指導但是目前對dom是有興趣 但是都不懂要如可來寫文件 目前時間不夠用,因為xnview還没寫完 如果寫完再來協助 dom 2.為何不要<frameset>呢那要什麼??? dwx 寫: 其實不用那麼麻煩 你可以用 display:none|block 就好了 如果你有 <div id="div1">one</div> <div id="div2">two</div> <div id="div3">three</div> 而 div2 是 { display:none; } 的話,瀏覽器會顯示 one three 反之,如果三個 <div> 都是 position:absolute,而 div2 是 { visibility: hidden; } 的話,則瀏覽器會顯示 one (空出 div2 的空間) three 所以你可以用以下的語法: 代碼: <style type="text/css"> dl.menu dd { margin-left: 0px;} dl.menu dd ul { padding-left: 0px; } /* display 是顯示模式 block 為區塊層 inline 為文字層/同軸 none 為無 list-item 為清單項目 等等 */ dl.menu dd ul li { display: block; // 預設 list-item } </style> <script type="text/javascript"> function toggleMenu(id) { menuList = document.getElementById(id); if (menuList.style.display != 'none') menuList.style.display = 'none'; else menuList.style.display = 'block'; } </script> <dl class="menu"> <dt><a href="#" onclick="toggleMenu('menu1');return false;">XnView起手式</a></dt> <dd id="menu1"> <ul> <li><a href="features.html">程式特色</a></li> <li><a href="install.html">安裝過程</a></li> </ul> </dd> </dt> 還有,我還是建議你不要用 <frameset>。 人手不夠。有興建整理 DOM 方面的說明文件嗎?你可以邊學邊作。 ![]() ![]() |
發表人: | danielwang [ 2004-12-29, 16:17 ] |
文章主題 : | 為何不要<frameset> |
Anonymous 寫: 2.為何不要<frameset>呢那要什麼???
<frameset> 問題 1. 你不可以把網頁傳給別人:不管現在在甚麼子頁面,位址列上一直都是首頁的位址,一般訪客如果想把某頁面推薦給別人,常常會變成把首頁網址傳過去 2. 有人問你你網上有沒有 XXX,你是要如何給它網址? 3. 搜尋器到現在還無法完全的支援分頁框。搜尋器只能連到子頁面,但這頁面會缺乏讓訪客瀏覽到其它網站上相關資訊的功能。 4. 沒辦法 bookmark 網頁 用 server-side include 應該可以解決這問題。沒有的話就直接把 menu 加到所有 HTML 檔了。 |
發表人: | kouken [ 2004-12-29, 22:42 ] |
文章主題 : | |
http://student.thu.edu.tw/~s911552/hanabi 這個網頁的java script選單用firefox出不來...... 是還沒支援到嗎??? |
發表人: | danielwang [ 2004-12-30, 00:49 ] |
文章主題 : | |
http://student.thu.edu.tw/~s911552/hanabi/left.htm 的 Outline.onclick = javamagic; 應該是 document.getElementById('Outline').onclick = javamagic; 事件處理的語法好像也要改 |
發表人: | kouken [ 2004-12-30, 01:13 ] |
文章主題 : | |
dwx 寫: http://student.thu.edu.tw/~s911552/hanabi/left.htm 的
Outline.onclick = javamagic; 應該是 document.getElementById('Outline').onclick = javamagic; 事件處理的語法好像也要改 感謝指導 小第會再努力的~ |
發表人: | kouken [ 2005-01-01, 23:25 ] |
文章主題 : | |
kouken 寫: dwx 寫: http://student.thu.edu.tw/~s911552/hanabi/left.htm 的 Outline.onclick = javamagic; 應該是 document.getElementById('Outline').onclick = javamagic; 事件處理的語法好像也要改 感謝指導 小第會再努力的~ 結果還是不知道要怎改..... = = |
發表人: | danielwang [ 2005-01-02, 22:28 ] |
文章主題 : | |
未測試: 代碼: function javamagic(e) {
var targetId, srcElement, targetElement; if (typeof(e)=='undefined') e = event; srcElement =e.srcElement; |
第 1 頁 (共 1 頁) | 所有顯示的時間為 UTC + 8 小時 |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |