大家好
以下是我的目前遇到問題
點選不同的按鈕
在 function
內可以改變變數 btnValue
的值
想請問在 function
外也可以使用改變好的變數 btnValue
的值嗎?如何使用?
目前程式如下:
js
<script type="text/javascript">
var btnValue = 1;
document.onclick=function()
{
var obj = event.srcElement;
if(obj.type == "button")
{
if(obj.id == "fast"){
btnValue = 1.2;
//alert(btnValue); //可以成功改變 btnValue = 1.2,每一次觸發按鈕,也都可以成功印出
}else if(obj.id == "slow"){
btnValue = 0.8;
//alert(btnValue); //可以成功改變 btnValue = 0.8,每一次觸發按鈕,也都可以成功印出
}
}
}
alert(btnValue); //想請問在 function 外如何使用改變好的 btnValue 值?
</script>
html
<input id="fast" type="button" value="快"/>
<input id="slow" type="button" value="慢"/>
謝謝
他的意思應該是外面那個 alert(btnValue)
出來要等於 1.2 或 0.8
值有改只是他不知道 XD
如果把 function
裡面的 alert
隱藏
只留下 function
外的 alert
就不行了
你把 function
外的那個 alert
包成另外一個 function
你直接放在外面會直接被執行 你onclick
他才不理你
這樣你應該就知道了
document.onclick=function()
{
var obj = event.srcElement;
if(obj.type == "button")
{
if(obj.id == "fast"){
btnValue = 1.2;
alertMybtnValue(); //可以成功改變 btnValue = 1.2,每一次觸發按鈕,也都可以成功印出
}else if(obj.id == "slow"){
btnValue = 0.8;
alertMybtnValue(); //可以成功改變 btnValue = 0.8,每一次觸發按鈕,也都可以成功印出
}
}
}
function alertMybtnValue() {
alert(btnValue);
}
alertMybtnValue();
他有變只是你沒印出來
原來如此,謝謝大家,我了解了^^"
不好意思
我試了一下 listennn08 提供的方法
如果把原來 function 裡面的 alertMybtnValue(); 隱藏
好像還是不行在外面使用改變好的變數值...?
code
要不要考慮花點錢先學一下程式的邏輯...
剛開始學習沒有人教可能會比較難一點...
如果把原來 function 裡面的 alertMybtnValue(); 隱藏
document.onclick=function()
{
var obj = event.srcElement;
if(obj.type == "button")
{
if(obj.id == "fast"){
btnValue = 1.2;
// alertMybtnValue(); //可以成功改變 btnValue = 1.2,每一次觸發按鈕,也都可以成功印出
}else if(obj.id == "slow"){
btnValue = 0.8;
// alertMybtnValue(); //可以成功改變 btnValue = 0.8,每一次觸發按鈕,也都可以成功印出
}
}
}
function alertMybtnValue() {
alert(btnValue);
}
alertMybtnValue();
如果你是指這樣
代表你沒有呼叫 alertMybtnValue
所以不會執行 alert(btnValue);
但是 btnValue
還是有被改變的
listennn08
謝謝
我了解了
你直接在程式後面加上這一段
setinterval(function(){
console.log(btnValue);
},1000);
再將所有的alert拿掉。
開f12按console頁
你會發現有東西在跳。然後你去做操作看看。就知道參數有沒有動了。
題外話:
說真的,你的程式碼,慘不忍賭。只是我懶的再教學了。只告訴你,你的問題的判斷方式。
但我只帶入門,不告訴你原因。已經很多人跟你說了。不差我一個了。