Re: [問題] 重複使用Javascript

看板Ajax作者 (rob)時間14年前 (2011/09/24 12:21), 編輯推噓1(107)
留言8則, 3人參與, 最新討論串5/6 (看更多)
成功了! 我去掉onLoad="init" 然後我在前幾篇前問的 用手動的 function init(domId) ppAry=Box.split(" ").map(function(value){ return parseInt(value,10)}); //畫一串字串成整數// 然後在 function up() { ppAry[2]=ppAry[2]*2; ppAry[3]=ppAry[3]*2; svgRect.setAttribute("Box", ppAry.join( )); } 卻會跑出NaN植錯誤>____< 後來改用 function up() { svgRect.setAttribute("Box", ppAry[0]+" "+ppAry[1]+" "+ppAry[2]*2+" "+ppAry[3]*2); } 就成功了.... 不太知道為什麼ppAry.join()會因為連續執行兩次init函數而突然失效... 有人可以告訴我嗎?感謝! : 跑不起來勒?? : 我前面還有個 : <body onLoad="init()"> : 看來應該會影響到... : 我看了下面的 不是很懂~再次請教 : <form> : <input type="button" value="up" : onClick="javascript:init('layer1');up(); : init('mlayer2';up()"/> : </form> : //一個按鈕按一次想執行兩次script但是裡面的id不同// : <script type="text/javascript"> : var svgdoc=null; : var y; : var x; : function init(domId){ : var object=document.getElementById(domId); : if(object && object.contentDocument) : svgdoc=object.contentDocument; : else : svgdoc=object.getSVGDocument(); : //...以下省略// : function up() : { : svgRect.setAttribute("y",--y); : } : </script> : 上面這樣試一下看看 : 但是code不夠"漂亮",你再改改看 : 用一個function就可以了 -- 寧願天空是藍色~ 也不願心情是藍的! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.233.4.14 ※ 編輯: robinnpca 來自: 118.233.4.14 (09/24 12:22)

09/24 15:41, , 1F
1. 單引號 (用雙引號會變成 layer1 是 input 的參數)
09/24 15:41, 1F

09/24 15:42, , 2F
分號還是加一下比較保險,就跟 if 還是寫個 {} 一樣
09/24 15:42, 2F

09/24 15:43, , 3F
2. function初始的帶入參數不用加引號,名稱隨意(看懂就好)
09/24 15:43, 3F

09/24 15:44, , 4F
用引號包起來會變字串,沒用的話就當是變數/名稱
09/24 15:44, 4F

09/24 15:45, , 5F
如果在onclick裡面的函式帶"xxx"代表字串,xxx 代表參數
09/24 15:45, 5F
※ 編輯: robinnpca 來自: 118.233.4.14 (09/24 17:19) ※ 編輯: robinnpca 來自: 118.233.4.14 (09/24 17:21)

09/24 17:22, , 6F
感謝!的確是我的誤認!謝謝告知^^
09/24 17:22, 6F
※ 編輯: robinnpca 來自: 118.233.4.14 (09/24 17:23) ※ 編輯: robinnpca 來自: 118.233.4.14 (09/24 17:23)

09/24 18:52, , 7F
現在這個是新的問題嗎? 另外介意給完整一點的code嗎?
09/24 18:52, 7F

09/24 19:20, , 8F
ppAry.join(' ')
09/24 19:20, 8F
文章代碼(AID): #1EVLgsLX (Ajax)
文章代碼(AID): #1EVLgsLX (Ajax)