急中生智的急什么意思:求教:当一个文本框具有焦点时,让其他层改变样式。。

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 05:58:21
淘宝注册页面上,当一个用户名文本框具有焦点的时候,旁边提示信息的层的样式就发生变化,他具有了蓝色1象素的边框; 而当密码文本框具有焦点的时候,刚才的层的样式就变回原来的样式!
请问这个javascript代码如何编写啊,请指教啊,能否代码写清楚些。》

楼主说的效果,是在css里定义多个类,通过判断input是否获得焦点来切换div的className

简单的演示一下,另存为htm就可看效果~

<style>
.div1 {BORDER-right: #eeeeee 1px solid;BORDER-left: #eeeeee 1px solid;BORDER-top: #eeeeee 1px solid;BORDER-bottom: #eeeeee 1px solid;width:150;}
.div2 {BORDER-right: #428EFF 1px solid;BORDER-left: #428EFF 1px solid;BORDER-top: #428EFF 1px solid;BORDER-bottom: #428EFF 1px solid;width:150;}
</style>
<body onclick="chanageStyle()">
<script langeage="javascript">
function chanageStyle()
{
if(document.activeElement.tagName=="INPUT")
{
if(document.activeElement.id=="user")
{
document.getElementById("d1").className='div2'
document.getElementById("d2").className='div1'
}
if(document.activeElement.id=="pwd")
{
document.getElementById("d1").className='div1'
document.getElementById("d2").className='div2'
}
}
else
{
document.getElementById("d1").className='div1'
document.getElementById("d2").className='div1'
}
}
</script>
<input type="text" id="user" width="150" onfocus="chanageStyle()">
<div id="d1" class="div1" width="300">请输入登录用户</div>
<input type="text" id="pwd" width="150" onfocus="chanageStyle()">
<div id="d2" class="div1" width="300">请输入登录密码</div>

那个其实是一个层,层上面做个那种蓝边框的样式

原理就是用文本框的onmouseover事件和onmouseout事件
来控制这个层的显示和隐藏,和大小,层中的文字,
层的位置,所以就刚好盖住原来的那些灰色的文字

一般是用这个层的作法
有简单的,也有复杂的
简单的他就只建了一个层,
复杂的就看你要几处效果,就建几个这样的,然后分别控制它的隐藏和出现就行了。

网上找一找层的相关教程就有了