正如标题所说,为什么这个代码不能在我的本地html文件上运行,尽管它适用于jsFiddle。这是我的代码:
JS
var s,t,d;
s = document.getElementById('start');
t = document.getElementById('temp');
d = document.getElementById('display');
startChange = function(){
var v,nt,diff,timelapse,decrease,decreaseit,loop;
v = +d.value;
nt = +t.value;
diff = v-nt;
timelapse = 500; //set to whatever you like
decrease = .2;
decreaseit = function(){
var v = d.value;
if(v>=(nt+decrease)){
loop = setTimeout(function(){
d.value = (v-decrease).toFixed(1);
decreaseit();
},timelapse)
} else clearInterval(loop);
}
decreaseit();
}
s.onclick = startChange;
HTML
<input id="display" type="text" value="7.2" disabled>
<input id="temp" type="text">
<button type="button" id="start">Set temp</button>
答案 0 :(得分:2)
您可能已将代码放在文件的<head></head>
部分,而您的JavaScript代码无法访问DOM元素,因为尚未创建DOM。
如果您的代码在头部,请用:
包装window.onload = function() {
// your code
}
否则将其放在关闭身体标签之前。这是包含JavaScript的推荐方式,因为首先加载基本内容。