我這計時器定義哪里出了問題嗎,為什么一直說計時器未定義?
timer=setInterval(function(){
? ? ? ? ? ? ? ? var i=Math.floor(Math.random()*sz.length);
? ? ? ? ? ? ? ? guen[0].innerHTML=sz[i];
? ? ? ? ? ? },100);
timer=setInterval(function(){
? ? ? ? ? ? ? ? var i=Math.floor(Math.random()*sz.length);
? ? ? ? ? ? ? ? guen[0].innerHTML=sz[i];
? ? ? ? ? ? },100);
2015-08-24
舉報
2015-10-30
存放定時器的變量是先定義 ??var timer,后面才能存放定時器來使用的,
文中代碼“
? ? ? ? ? ?clearInterval(timer);
? ? ? ? ? ? timer=setInterval(function(){
“這里是先清除一個timer(這是變量既沒有定義,也沒有用做存放定時器,系統(tǒng)就不認識了),后用做存放定時器,
邏輯上解決辦法肯定是先用做存放定時器嗎,后才能清除,改變兩者先后順序,
但從本抽獎程序而言,又確確實實這里要先清除,再使用(這主要是針對重復點擊”開始抽獎“按鈕的情況)解決辦法就是一個:在js程序window.onload=function(){}的前面定義全局變量并賦初值var timer=null;這樣全局都認識這個timer了
// JavaScript Document
var timer=null; ? ? /*全局變量*/
window.onload=function(){
var list=["三星手機","玩具娃娃","手機充值卡","帶薪休假","超市購物卡","餐券","蘋果ipad","運動手環(huán)"];
var b1=document.getElementById("b1");
var b2=document.getElementById("b2");
var prize=document.getElementById("prize");
b1.onclick=play;
……
2015-08-24
我知道哪里錯了,給你說說,? clearInterval(timer);這時候的這個timer是還沒有定義的,所以運行到這里的時候就錯了,你自己琢磨著改吧
2015-08-24
這是全部代碼
<!doctype html>
<html>
<head>
? ? <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
? ? <title>抽獎系統(tǒng)</title>
? ? <style type="text/css">
? ? ? ? #cj{width:200px;margin:0 auto;text-align:center;}
? ? ? ? span{color:red;font-size:30px;}
? ? ? ? input{margin:20px 0;}
? ? </style>
? ?<script type="text/javascript">
? ? ? ? window.onload=function(){
? ? ? ? ? ? var ks=document.getElementById("ks");
? ? ? ? ? ? var js=document.getElementById("js");
? ? ? ? ? ? var guen=document.getElementsByTagName("span");
? ? ? ? ? ? var c=0;
? ? ? ? ? ? //點擊按鈕抽獎
? ? ? ? ? ? ks.onclick=kaishi;
? ? ? ? ? ? js.onclick=jieshu;
? ? ? ? ? ? //按enter鍵抽獎
? ? ? ? ? ? document.onkeyup=function(event){
? ? ? ? ? ? ? ? event=event||window.event;
? ? ? ? ? ? ? ? if(event.keyCode==13){
? ? ? ? ? ? ? ? ? ? if(c==0){
? ? ? ? ? ? ? ? ? ? ? ? kaishi();
? ? ? ? ? ? ? ? ? ? ? ? c=1;
? ? ? ? ? ? ? ? ? ? }else{
? ? ? ? ? ? ? ? ? ? ? ? jieshu();
? ? ? ? ? ? ? ? ? ? ? ? c=0;
? ? ? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? }
? ? ? ? ? ? }
? ? ? ? ? ??
? ? ? ? }
? ? ? ? function kaishi(){
? ? ? ? ? ? var guen=document.getElementsByTagName("span");
? ? ? ? ? ? var sz=new Array('蘋果筆記本','ipad','100元充值卡','平板電腦','小米手機','500元現(xiàn)金','耳機');
? ? ? ? ? ? clearInterval(timer);
? ? ? ? ? ? timer=setInterval(function(){
? ? ? ? ? ? ? ? var i=Math.floor(Math.random()*sz.length);
? ? ? ? ? ? ? ? guen[0].innerHTML=sz[i];
? ? ? ? ? ? },100);
? ? ? ? }
? ? ? ? function jieshu(){
? ? ? ? ? ? clearInterval(timer); ?
? ? ? ? }
? ? ? ??
? ?</script>
</head>
<body>
? ? <div id="cj">
? ? ? ? <span>準備抽獎了</span><br/>
? ? ? ? <input id="ks" type="button" value="開始抽獎">
? ? ? ? <input id="js" type="button" value="結束抽獎">
? ? </div>
</body>
</html>