代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
JS
】
漂亮的页面加载效果以及表单占位符动画
作者:
HarryAlex
/ 发布于
2014/4/8
/
494
--1、当input输入框获得焦点的时候,默认内容会依次删除,效果不错 --2、整个页面依次加载,看起来很舒服 --3、页面滚动条可以自定义 function Placeholdem( elems ) { "use strict"; (function(){var lastTime=0;var vendors=['ms','moz','webkit','o'];for(var x=0;x<vendors.length&&!window.requestAnimationFrame;++x){window.requestAnimationFrame=window[vendors[x]+'RequestAnimationFrame'];window.cancelAnimationFrame=window[vendors[x]+'CancelAnimationFrame']||window[vendors[x]+'CancelRequestAnimationFrame'];}if(!window.requestAnimationFrame)window.requestAnimationFrame=function(callback,element){var currTime=new Date().getTime();var timeToCall=Math.max(0,16-(currTime-lastTime));var id=window.setTimeout(function(){callback(currTime+timeToCall);},timeToCall);lastTime=currTime+timeToCall;return id;};if(!window.cancelAnimationFrame)window.cancelAnimationFrame=function(id){clearTimeout(id);};}()); var P = {}; P.init = function() { P.elems = []; if( elems && elems.length ) { for( var i = 0 ; i < elems.length; i++ ) { if( P.hasPlaceholder( elems[ i ] ) ) { P.elems.push( new P.PlaceholdemElem( elems[ i ] ) ); } } } else if( elems ) { if( P.hasPlaceholder( elems ) ) { P.elems.push( new P.PlaceholdemElem( elems ) ); } } }; P.hasPlaceholder = function( elem ) { return ( typeof elem.hasAttribute === 'function' && elem.hasAttribute( 'placeholder' ) ); }; P.PlaceholdemElem = function( elem ) { var PE = this; PE.init = function() { PE.elem = elem; PE.placeholder = PE.elem.getAttribute( 'placeholder' ); PE.elem.removeAttribute( 'placeholder' ); PE.rAF = null; PE.animating = 0; if( !PE.elem.value ) { PE.elem.value = PE.placeholder; } PE.on( PE.elem, 'focus', PE.onFocus ); PE.on( PE.elem, 'blur', PE.onBlur); PE.on( PE.elem, 'keydown', PE.onKeydown); }; PE.on = function( elem, eventType, handler ) { if( elem.addEventListener ) { elem.addEventListener( eventType, handler ); } else { elem.attachEvent( 'on' + eventType, handler ); } }; PE.onFocus = function() { if( PE.animating || PE.elem.value === PE.placeholder ) { PE.animating = 1; window.cancelAnimationFrame( PE.rAF ); PE.deletePlaceholder(); } }; PE.onBlur = function() { if( PE.animating || PE.elem.value === '' ) { PE.animating = 1; window.cancelAnimationFrame( PE.rAF ); PE.restorePlaceholder(); } }; PE.onKeydown = function() { if( PE.animating ) { PE.animating = 0; window.cancelAnimationFrame( PE.rAF ); PE.elem.value = ''; } }; PE.deletePlaceholder = function() { if( PE.elem.value.length > 0 ) { PE.elem.value = PE.elem.value.slice( 0, -1 ); PE.rAF = window.requestAnimationFrame( PE.deletePlaceholder ); } else { PE.animating = 0; } }; PE.restorePlaceholder = function() { if( PE.elem.value.length < PE.placeholder.length ) { PE.elem.value += PE.placeholder[ PE.elem.value.length ]; PE.rAF = window.requestAnimationFrame( PE.restorePlaceholder ); } else { PE.animating = 0; } }; PE.init(); }; P.init(); return P; }
试试其它关键字
页面加载效
同语言下
.
Jquery搜索框获取回车事件
.
H5页面添加倒计时,然后自动跳转
.
通过user-agent判断h5页面是在哪个手机App(QQ、微信
.
nginx 禁止未绑定的域名访问
.
JavaScript 获取按键,并屏蔽系统 Window 事件
.
H5之只允许微信浏览器打开,禁止从外部浏览器访问
.
微信打开网址添加在浏览器中打开提示的办法
.
实现JS复制、粘贴,Chrome/Firefox下可用
.
video视频播放,play()、pause()、duration时长、onen
.
HTML5实现MP3上传前的预览和播放时长的获取
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
HarryAlex
贡献的其它代码
(
3
)
.
当前运行时
.
漂亮的页面加载效果以及表单占位符动画
.
学生管理系统
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3