Re: [問題] 重複使用Javascript
回復kerash大
這是另外一個突然跑出的問題
就是
原先用
ppAry=Box.split(" ").map(function(value){
return parseInt(value,10)});
已經將ppAry的"字串"轉成"數字"可運算
但是現在用在按鈕button然後運行init()兩次
當按第二次時也就是運行第三次和第四次init()後
又會變回字串???我用alert看到
比如100+100 應該是200他又變成100100
若用* /的或+-就變成錯誤的運算值
在我的陣列中有四個參數
其中ppAry[0]不會出錯 其他的ppAry[1]ppAry[2]ppAry[3]
好像都會變成字串回去
完整碼如下
<body>
<form>
<input type="button" value="4"
onClick="javascript:init('mainlayer');fgo();init('rect');fgo();"/>
</form>
//放入一個按鈕 執行兩次init和fgo函數//
<script type="text/javascript">
var svgdoc=null;
var svgRect;
var ppAry = new Array();
var box;
function init(domId){
var object=document.getElementById(domId);
svgdoc=object.getSVGDocument();
svgRect=svgdoc.getElementById("mainviews");
Box=svgRect.getAttribute("Box");//
ppAry=Box.split(" ").map(function(value){
return parseInt(value,10)});
//將得到的Box四個參數分開並且轉成數字
}
function fgo()
{
svgRect.setAttribute("Box", ppAry[0]+" "+ppAry[1]+" "+ppAry[2]+100+"
"+ppAry[3]);
}
</script>
</body>
※ 引述《robinnpca (rob)》之銘言:
: 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: 180.176.160.109
※ 編輯: robinnpca 來自: 180.176.160.109 (09/24 19:10)
推
09/24 19:27, , 1F
09/24 19:27, 1F
推
09/24 21:15, , 2F
09/24 21:15, 2F
→
09/24 21:59, , 3F
09/24 21:59, 3F
→
09/24 21:59, , 4F
09/24 21:59, 4F
→
09/24 21:59, , 5F
09/24 21:59, 5F
→
09/24 21:59, , 6F
09/24 21:59, 6F
→
09/24 22:00, , 7F
09/24 22:00, 7F
→
09/24 22:27, , 8F
09/24 22:27, 8F
※ 編輯: robinnpca 來自: 180.176.160.109 (09/25 08:58)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 6 之 6 篇):
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章
14
39