亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 <p> 元素上顯示 JS 函數的返回值

在 <p> 元素上顯示 JS 函數的返回值

蝴蝶不菲 2022-10-13 16:46:17
你好!希望你一切順利!我一直在為 ARPG 的挖掘系統開發某種工具。我已經設法制作了一個具有概率的隨機數生成器-我正在使用 Javascript-。我的想法是執行以下操作:在這個項目中,“采礦”可以從 0 級升到 10 級。隨著玩家等級的提升,每個等級找到礦物的概率增加 +4%(等級 1:+4%,等級 2:+8 %,3級:+12% ...)。我已經為每種礦物質(總共 5 個)給出了數字。這些礦石中的每一種都有以下出現在 0 級的概率:-Mining Lvl 0-1. Copper: 80%2. Iron: 60%3. Titanium: 40%4. Silver: 10%5. Platinum: 5%And everytime time a player levels up +4% should be added to each ore.我做了什么:我想創建一個工具,它會給我一個隨機數(從 1 到 5),這取決于每個人的概率和玩家級別。所以我所做的是創建一個頁面,我將在其中輸入級別,然后單擊一個按鈕,然后結果應該出現在 < p > 元素上。這頁紙 <div class="genbox"> <!--this is just a container for the tool-->    <h3><u>Enter Level & Click the button to get a random Number</u></h3>    <label for="txtLvl">Current Level:</label>    <input type="number" id="txtLvl" name="Enter current Lvl here">    <button onclick=mLvl() class="sbutton">Click me!</button>    <br><hr>    <p id="mresult">Result Here</p>    <hr></div>這是我的功能:function mLvl() {    //to get the value entered    //need to check if value=0,1,2,3...10 --    //var inputText = document.getElementById(txtLvl).value;    //For lvl 0:    function mRandom() {    var n=Math.floor(Math.random()*100)    switch(n){        case n<80:            return 1;        case n<60:            return 2;        case n<40:            return 3;        case n<10:            return 4;        case n<5:            return 5;                           }    }document.getElementById("mresult").innerHTML= mRandom();}在這里,我想測試這是否有效,只需單擊按鈕即可在 < p > 元素上獲取結果。問題是,每當我這樣做時,我都會打印出“未定義”。我想知道如何修復它,以便在單擊按鈕時顯示該值。**非常感謝您的閱讀,祝您有美好的一天。**
查看完整描述

2 回答

?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

您缺少“”并且還執行了在函數之外顯示輸出的代碼,因此它將在腳本加載時設置,而不是在您單擊時設置...


執行以下操作以使其正確...


function mRandom() {

    let n=Math.floor(Math.random()*100)

    let result=0

    if(n<80)result= 1;

    else if(n<60)result= 2;

    else if(n<40)result= 3;

    else if(n<10)result= 4;

    else if(n<5)result= 5;                   


    document.getElementById("mresult").innerHTML=result;

}


查看完整回答
反對 回復 2022-10-13
?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

mRandom()點擊發生時您正在執行。相反,您需要在document.getElementById(mresult).innerHTML= mRandom();其中執行語句。所以把它放到一個函數中調用:


<div class="genbox"> <!--this is just a container for the tool-->

    <h3><u>Enter Level & Click the button to get a random Number</u></h3>

    <label for="txtLvl">Current Level:</label>

    <input type="number" id="txtLvl" name="Enter current Lvl here">

    <button onclick="newLevel()" class="sbutton">Click me!</button>

    <!--             ^^^^^^^^^^^^^ -->

    <br><hr>

    <p id="mresult">Result Here</p>

    <hr>

</div>

function newLevel() {

    var inputText = document.getElementById("txtLvl").value;

    …

    document.getElementById("mresult").innerHTML = mRandom();

}


查看完整回答
反對 回復 2022-10-13
  • 2 回答
  • 0 關注
  • 204 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號