基于mootools1.3创意模仿表单

发布于 2022-10-15 08:42:36 字数 4618 浏览 21 评论 0

转:!nothing  

基于mootools1.3创意模仿表单

HTML代码:

  1. <div class="slider">
  2.      <label>Name</label><input type="text" />
  3. </div>
  4. <div class="slider">
  5.      <label>Street</label><input type="text" />
  6. </div>
  7. <div class="slider">
  8.       <label>E-mail</label><input type="text" />
  9. </div>

复制代码CSS代码:注意div.slider相对定位,label改为块级元素,绝对定位.这样通过改变label的left属性,实现效果.

  1.   *{margin:0;padding:0;
  2. font-family: sans-serif,微软雅黑,Microsoft YaHei,Helvetica,Tahoma,StSun,宋体,SimSun;line-height: 1.5em;font-size: 14px;}  
  3. .slider{position:relative;margin:0 0 10px 50px;}  
  4. div.slider label{position:absolute;display:block;margin:1px 0 0 2px;padding:2px;}
  5. input[type="text"] { width:300px; border:1px solid #999; padding:5px; -moz-border-radius:4px;border-radius:4px;-webkit-border-radius:4px; }  
  6. input[type="text"]:focus { border-color:#777; }   

复制代码JS代码:JS也没什么注意的了,大概就是循环添加事件而已.

  1. <script type="text/javascript">
  2.         var labelSlider = {
  3.             data: {
  4.                 tween: {
  5.                     property: "left",
  6.                     duration: 300
  7.                 },
  8.                 set: -50
  9.             },
  10.             start: function () {
  11.                 this.divContainers = $("div.slider");
  12.                 for (var i = 0; i < this.divContainers.length; i++) {
  13.                     this.divContainers[i].getElement("label").set("tween", this.data.tween);
  14.                     this.divContainers[i].getElement("input").addEvents({
  15.                         focus: this.left.bind(this, [i]),
  16.                         blur: this.goback.bind(this, [i])
  17.                     });
  18.                 }
  19.             },
  20.             left: function (at) {
  21.                 this.divContainers[at].getElement("label").get("tween").start(this.data.set);
  22.             },
  23.            goback: function (at) {
  24.                 if (this.divContainers[at].getElement("input").value == "") {
  25.                     this.divContainers[at].getElement("label").get("tween").start(0);
  26.                 }
  27.             }        };
  28.        labelSlider.start();
  29.     </script>

复制代码学校的时光还是那么无聊,还要多久才能走出这个悲剧的环境.
等下一站天亮吧!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

等风来 2022-10-22 08:42:36

$$转义成了$ 搞得我以为程序有问题

风渺 2022-10-22 08:42:36

jquery 美工专用
mootools 程序员专用
yui团队开发专用
prototype老程序员专用

触ぅ动初心 2022-10-22 08:42:36

楼主对mt熟悉吗,mt有类似jquery的show,toggle方法吗?

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
  2. <html lang="ru">
  3. <head>
  4. <title></title>
  5. <meta http-equiv="Content-Type" content="text/html;charset=gbk">
  6. <style type="text/css">
  7. #msg{
  8. background:orange;
  9. display:none;
  10. }
  11. </style>
  12. <script type="text/javascript" src="../mootools.core.js"></script>
  13. </head>
  14. <body>
  15. <div id="msg">
  16. look look</div>
  17. <button id="btn"> click </button>
  18. <script type="text/javascript">
  19. $("btn").addEvent('click',function(e){
  20. $("msg").show(); //same as
  21. //$("msg").setStyle('display', 'block');
  22. //$("msg").toggle();
  23. });
  24. </script>
  25. </body>
  26. </html>

复制代码按照下面的的例子试了一下mt的show,好象也不行
http://www.clientcide.com/wiki/c ... 5-element.shortcuts

这是show方法的说明 

Element.hide(), .show

Element.hide() will set an element's display to 'none'.

Element.show() will set it back to what it was before you hid it (inline, block, etc.) or, if you didn't call .hide() on it previously it defaults to 'block'. You can specify what to set the display to by passing that in (Element.show('block') or Element.show('inline'));

These are just shortcuts for Element.setStyle('display', 'block').

既然说show是setStyle('display', 'block').的快捷方式,为什么setStyle('display', 'block').有效而 show无效呢

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文