2014-02-18 77 views
2

作为标题说,为什么不在我的本地html文件上工作,尽管它在jsFiddle上工作。这是我的代码:为什么我的代码在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

小心你的小提琴吗? –

+0

你能告诉我们jsfiddle吗? – enyce12

+0

http://jsfiddle.net/Rb3eW/ – user3091110

回答

2

你可能已经把你的代码在你的文件的<head></head>部分,因为你的JavaScript代码无法访问DOM元素DOM尚未创建。

如果你的代码是在头,用它包:

window.onload = function() { 
// your code 
} 

否则把它的结束标记之前。这是包含JavaScript的推荐方式,因为必须首先加载基本内容。

相关问题