基于mootools1.3创意模仿表单
效果预览如下:
学校的时光还是那么无聊,还要多久才能走出这个悲剧的环境.
等下一站天亮吧!
HTML代码:
<div class="slider">
<label>Name</label><input type="text" />
</div>
<div class="slider">
<label>Street</label><input type="text" />
</div>
<div class="slider">
<label>E-mail</label><input type="text" />
</div>
CSS代码:注意div.slider相对定位,label改为块级元素,绝对定位.这样通过改变label的left属性,实现效果.
*{margin:0;padding:0;font-family: sans-serif,微软雅黑,Microsoft YaHei,Helvetica,Tahoma,StSun,宋体,SimSun;line-height: 1.5em;font-size: 14px;}
.slider{position:relative;margin:0 0 10px 50px;}
div.slider label{position:absolute;display:block;margin:1px 0 0 2px;padding:2px;}
input[type="text"] { width:300px; border:1px solid #999; padding:5px; -moz-border-radius:4px;border-radius:4px;-webkit-border-radius:4px; }
input[type="text"]:focus { border-color:#777; }
JS代码:JS也没什么注意的了,大概就是循环添加事件而已.
<script type="text/javascript">
var labelSlider = {
data: {
tween: {
property: "left",
duration: 300
},
set: -50
},
start: function () {
this.divContainers = $$("div.slider");
for (var i = 0; i < this.divContainers.length; i++) {
this.divContainers[i].getElement("label").set("tween", this.data.tween);
this.divContainers[i].getElement("input").addEvents({
focus: this.left.bind(this, [i]),
blur: this.goback.bind(this, [i])
});
}
},
left: function (at) {
this.divContainers[at].getElement("label").get("tween").start(this.data.set);
},
goback: function (at) {
if (this.divContainers[at].getElement("input").value == "") {
this.divContainers[at].getElement("label").get("tween").start(0);
}
}
};
labelSlider.start();
</script>
等下一站天亮吧!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架