hwoarangzk 发表于 2007-10-26 15:21

[求助]javascript属性设置事件无效

&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt;<BR>&lt;title&gt;Cartoon&lt;/title&gt;<BR>&lt;script&gt;<BR>    var flag=1;<BR>    var dx=1,dy=1;<BR>    var x=0,y=50;<BR>    var v;<BR>    function moveRight(){<BR>        var r=document.getElementById("cartoon");<BR>        x+=dx;<BR>        r.style.left=x+"px";<BR>    }<BR>    function moveLeft(){<BR>        var l=document.getElementById("cartoon");<BR>        x-=dx;<BR>        l.style.left=x+"px";<BR>    }<BR>    function moveUp(){<BR>        var u=document.getElementById("cartoon");<BR>        y-=dy;<BR>        u.style.top=y+"px";<BR>    }<BR>    function moveDown(){<BR>        var d=document.getElementById("cartoon");<BR>        y+=dy;<BR>        d.style.top=y+"px";<BR>    }<BR>    function moveCartoon(){<BR>        var o=document.getElementById("cartoon");<BR>        var xx=x;<BR>        var yy=y;<BR>        if(xx==0&amp;&amp;yy==50) flag=1;<BR>        if(xx==300&amp;&amp;yy==50) flag=2;<BR>        if(xx==300&amp;&amp;yy==200) flag=3;<BR>        if(xx==0&amp;&amp;yy==200) flag=4;<BR>        switch(flag){<BR>            case 1:moveRight();break;<BR>            case 2:moveDown();break;<BR>            case 3:moveLeft();break;<BR>            case 4:moveUp();break;<BR>        }<BR>        v=setTimeout("moveCartoon()",10);<BR>    }<BR>    function stopCartoon(){<BR>        clearTimeout(v);<BR>    }<BR>    function look(){ <BR>        if(event.shiftKey) <BR>            alert("Shift Forbidden!"); <BR>        if(event.ctrlKey) <BR>            alert("Ctrl Forbidden!"); <BR>        if(event.altKey) <BR>            alert("Alt Forbidden!"); <BR>    } <BR>    document.onkeydown=look; <BR>    <FONT color=#ff0000>document.b1.onclick=moveCartoon;<BR></FONT>&lt;/script&gt;<BR>&lt;/head&gt;<BR>&lt;body&gt;<BR><FONT color=#ff0000>&lt;input type="button" value="Start" name="b1"&gt;</FONT><BR>&lt;input type="button" value="Stop" onclick="stopCartoon()"&gt;&lt;br&gt;<BR>&lt;div id="cartoon" style="position:absolute;"&gt;<BR>Cartoon!!!<BR>&lt;/div&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;<BR>红色的那句话为什么不起作用?[em13]

Gojo_JS 发表于 2007-10-26 16:19

<FONT color=#ff0000>document.all.b1.onclick=moveCartoon;<BR><BR>document后面要加上all,然后把你的JS代码 放到&lt;/div&gt;下面去 就可以了</FONT>

hwoarangzk 发表于 2007-10-26 17:10

嗯,谢谢了[em01]

Gojo_JS 发表于 2007-10-26 17:12

<P>相互交流,共同成长。</P>

lmhllr 发表于 2007-10-26 19:45

<P>似乎这样写不兼容FF啊...<BR><BR>用document.getElementById()吧~~<BR></P>

史诺比 发表于 2007-10-26 20:53

<P>用ID比NAME好点,document.getElementById可以省略<BR><BR>[CODE]&lt;!DOCTYPE HTML PUBLIC#"-//W3C/DTD HTML 4.01//EN" "<a href="http://www.w3c.org/tr/html4/strict.dtd" target="_blank" >http://www.w3c.org/tr/html4/strict.dtd</A>"&gt;<BR>&lt;html&gt;<BR>&lt;head&gt;<BR>&lt;title&gt;Cartoon&lt;/title&gt;<BR>&lt;script&gt;<BR>var x=0,y=0,a=0,b=0,c=0<BR>function aa(){<BR>if(x&lt;300 &amp;&amp; y==0){a=1,b=0}<BR>if(x==300 &amp;&amp; y&lt;300){a=0,b=1}<BR>if(x&gt;0 &amp;&amp; y==300){a=-1,b=0}<BR>if(x==0 &amp;&amp; y&gt;0){a=0,b=-1}<BR>x=x+a<BR>y=y+b<BR>cartoon.style.left=x+"px"<BR>cartoon.style.top=y+"px"<BR>kk.onclick=""<BR>jj=setTimeout("aa()",1)<BR>}<BR>function clear_jj(){<BR>clearTimeout(jj);<BR>kk.onclick=aa}<BR>&lt;/script&gt;<BR>&lt;/head&gt;<BR>&lt;body&gt;<BR>&lt;button  onclick="clear_jj()"&gt;停&lt;/button&gt;<BR>&lt;button id="kk" onclick="aa()"&gt;开始&lt;/button&gt;&lt;br&gt;<BR>&lt;div id="cartoon" style="position:absolute;top:0px;left:0px"&gt;<BR>Cartoon!!!<BR>&lt;/div&gt;<BR>&lt;/body&gt;<BR>&lt;/html&gt;[/CODE]</P>

页: [1]

编程论坛