你好,我是比較新的,從未在一個月前編碼過,但我慢慢地通過html,css和javascript自學了一個網站的結構和內部工作原理。我正在嘗試修改網站中的特定腳本。這個網站是無法在HTML網站中修改javascript
https://www.wizards.com/dnd/dice/dice.htm
我的目標是讓這個我可以操縱一個骰子給我一個改變的範圍,而不是如1-4,也許1-10,也可能給我我指定的號碼。我也想盡可能不改變網站的整體美感。
所以首先,我把這個方便的一段代碼在URL javascript:document.body.contentEditable ='true'; document.designMode = '上'; void 0
它允許我將內容編輯爲內容。
我想要變得簡單,只需更改D4骰子元素https://gyazo.com/adf563827f63edd37264882e90fd5f85,這樣就可以給出我在1-20範圍內的數字。
此元素的HTML代碼是
<a href="javascript:void(null)" onclick="rolld4()"><img src="https://www.wizards.com/dnd/dice/images/d4a.jpg" alt="d4" name="d4" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('document.d4','document.d4','images/d4b.jpg')" width="38" border="0" height="37"></a>
我注意到的onclick =「rolld4()」所以我看了網站的頭內和內<script language="JavaScript1.2"></script>
這些代碼行的注意。
function rolld4() {
d4rolls = parseInt(document.form1.d4n.value);
d4mod = parseInt(document.form1.d4mo.value);
dtotal = "";
d4res = 0;
rtotal = document.form1.runningtotal.value;
for (i=0; i<2; i++) {
if (document.form1.d4m[i].checked) {
d4pm = i }
}
if (d4pm == 0) {
dtotal = dtotal + "Roll(" + d4rolls.toString() + "d4" + ")+" + d4mod.toString() + ":\n"
}
if (d4pm == 1) {
dtotal = dtotal + "Roll(" + d4rolls.toString() + "d4" + ")-" + d4mod.toString() + ":\n"
}
for (r=0; r<d4rolls; r++) {
var d4 = Math.floor((Math.random() * 4) + 1);
d4res = d4res + d4;
dtotal = dtotal + d4.toString() + ","
}
if (d4pm == 0) {
d4res = d4res + d4mod;
dtotal = dtotal + "+" + d4mod + "\n" + "Total:" + d4res
}
if (d4pm == 1) {
d4res = d4res - d4mod;
if (d4res <= minimumvalue) {
d4res = minimumvalue;
}
dtotal = dtotal + "-" + d4mod + "\n" + "Total:" + d4res
}
document.form1.d4r.value = d4res;
rtotal = dtotal + "\n\n" + rtotal;
document.form1.runningtotal.value = rtotal;
}
我上述行Math.floor((Math.random() * 4) + 1)
改變以Math.floor((Math.random() * 20) + 1)
我然後創建與修改後的代碼新的腳本,把它應該改變輸出給我從1-20我的範圍D4骰子元件下方。我能夠取得一些成功,並且事實上模仿了1-20的滾動範圍。但是,這隻對我有用,而且即使經歷了完全相同的過程,我也無法複製它。
我還在<script language="JavaScript1.2"></script>
腳本中看到這是一個大的評論。這是讓我感到困惑的,因爲如果代碼中的javascript函數被轉換爲註釋,那麼當骰子被點擊和「滾動」時,JavaScript被從中拉出。我似乎找不到消息來源。
我是一個總的新手,當談到JavaScript我主要是鑽研HTML和CSS設計網站,所以我幾乎沒有一般的格式JavaScript的知識。
是的,我擔心類似的情況是這樣,如果你不介意我有一個像我說的問題,我添加了一個新的腳本,但它沒有奏效。無論如何,我可以製作一種新版本,代替舊版本,即原版。 – radicalhorse
我認爲不是。你可以附加新的代碼,這些代碼將與舊的代碼一起執行(具有相同的優先級)。 – Imaginaroom
再次感謝您的幫助和澄清。我想我知道我必須做什麼,並且將會使用代碼。 – radicalhorse