<style type="text/css">
span{
text-align:right;
font-size:24px;
font-family:"宋体";
background-color:#00CC99;
}
p{
text-align:center;
}
input{
margin-right:0.5em;
}
.but{
width:50px;
height:30px;
}
.txt{
width:120px;
height:30px;
line-height:30px;
border:10px solid green;

}
</style></head><body>
<div>
<p><span>学生选课系统</span></p>
<p>
<input type="button" value="姓名:" class="but"/>
<input type="text" class="txt" />
</p>
<p>
<input type="button" value="学号:" class="but"/>
<input type="text" class="txt" id="wo"/>
</p>
</div>
<script language="javascript">
/*var i=0;
var color=new Array("#0000FF","#99FF00","#660033","#CC66CC");
function PP()
{
if(i>color.length-1)
{
i=0;
}
.txt.border-color=color[i];
setTimeout("PP()",100);
}
PP();*/
<!--
function fl(){
if(!document.all)
{
return
if(wo.style.borderColor=="green")
 wo.style.borderColor="red";
else
wo.style.borderColor="green";
}
}
setInterval("fl()",500);
//-->
</script>

解决方案 »

  1.   

    function fl(){
    if(!document.all)
    {
    return
    if(wo.style.borderColor=="green")
     wo.style.borderColor="red";
    else
    wo.style.borderColor="green";
    }
    }return去掉。
      

  2.   

    function fl(){
    var wo = document.getElementById('wo');
    if(wo.style.borderColor=="green" || !wo.style.borderColor)
     wo.style.borderColor="red";
    else
    wo.style.borderColor="green";
    }
      

  3.   

    function fl(){
    var wo = document.getElementById('wo');
    if(wo.style.borderColor=="green" || !wo.style.borderColor)
     wo.style.borderColor="red";
    else
    wo.style.borderColor="green";
    }
      

  4.   


    由于本人是刚刚学习,想请问 1.var wo = document.getElementById('wo');这句话我加或者没加都是一样的效果;2.我们现在在css里不是用border-color来设置颜色,为什么这里不行;3.!wo.style.borderColor这句好什么意思
    希望大神能耐心讲解一下,谢谢!!!
      

  5.   

    1.这么写是为了兼容,有些浏览器不能根据dom节点的ID直接获取
    2.是的,但是一般是写在CSS的border里面,你的代码里已经体现了。单独写的话确实是border-color
    3.!wo.style.borderColor这个是判断当前元素是不是已经设置过style的borderColor,你的代码里由于原来的样式是写在CSS里面,所以在运行的时候wo.style.borderColor空,这样第一次还是会跑一下else里面的再次设置green,加上这个以后第一次运行的时候由于wo.style.borderColor是空值,所以!wo.style.borderColor为true,就会执行if里面的,将颜色设为red。你的代码的主要问题是!document.all一直是false所以没跑,你应该是在IE下测试的,在IE下document.all是有东西的,所以是false。
      

  6.   


    那为什么<table border="0" width="280" id="myexample" style="border:5px solid green">
    <tr><td>源码爱好者与您分享编程源码、网站源码、网页素材、书籍教程、网站模板、网页特效代码等,做高质量的学习型源码下载站。
    <br></td>
    </tr>
    </table>
    <script language="JavaScript1.2">
    <!--
    function flashit(){
    if (!document.all)
    return
    if (myexample.style.borderColor=="green")
    myexample.style.borderColor="red"
    else
    myexample.style.borderColor="green"
    }
    setInterval("flashit()", 500)
    //-->
    </script>
    可以在IE下看到效果啊!
    还有我就是想问一下浏览器对于HTML,JS,CSS的运行顺序是怎么样的啊,谢谢!!!
      

  7.   

    <script language="JavaScript1.2">
    <!--
    function flashit(){
    if (!document.all)
    return
    if (myexample.style.borderColor=="green")
    myexample.style.borderColor="red"
    else
    myexample.style.borderColor="green"
    }
    setInterval("flashit()", 500)
    //-->
    </script>你这个代码if (!document.all)
    return
    这里if后面没有大括号哦,if (!document.all)只对return有效,就是如果不是IE下,直接return了,只有IE能看到效果,当判断后执行的代码只有一行是可以省略{}的,但是你代码里if (!document.all)后面跟了个大括号。运行顺序,就是从上到下,碰到什么显示什么,碰到JS就编译执行,碰到CSS,HTML就渲染页面。