開源小巧的javascript框架:G.js
G.js是一個開源小巧的javascript框架。支持瀏覽器 ie6+
一共包含31個方法,其中有13個是對dom原生對象的擴展(被G.js處理過的對象才有這些擴展方法,沒有污染原生對象結構),18個常用方法。
18個常用方法包含了4個插件:
1、自動驗證表單
2、各種彈出框 (alert | success | error | confirm | prompt | box)
3、無刷新上傳圖片
4、移動設備的上下 左右 長按 手勢的識別(需要支持touch事件)
G.js返回的對象均為原生js對象。
下載
對dom擴展的13個方法(均支持數組操作)
方法 | 說明 |
---|---|
$ | dom.$('css選擇器',false|true = false) 選擇器,作用域是當前元素 第二個參數默認是false 表示選擇第一個元素,true 表示選擇所有的 |
child | dom.child(n='') 當前元素的子元素 n為空表示所有子元素 |
css | dom.css({}) 給當前元素添加css樣式 |
rcss | dom.rcss(被替換的class名稱,替換的class名稱) 操作class類名 第一個參數為空表示添加 第二個參數為空表示刪除 |
del | dom.del() 刪除當前元素 |
each | dom.each(回調函數) 遍歷當前對象 |
hide | dom.hide(回調函數,淡出時間css3) 隱藏當前元素 |
show | dom.show(回調函數,淡入時間,最終透明度) 顯示當前元素 |
next | dom.next(n=1) 當前元素的下n個元素 默認為1 |
prev | dom.prev(n=1) 當前元素的上n個元素 默認為1 |
offset | dom.offset() 獲取當前元素的位置 返回{top:'',left:'',bottom:'',right:''} |
parent | dom.parent(n=1) 返回當前元素的父N級元素 |
use | dom.use(fn) 當前所有元素執行fn函數 |
DEMO
獲取1個class為.dt的元素 改變背景顏色為(#85B3DC)
G('.dt').css({'backgroundColor':'#85B3DC'});測試
獲取1個class為.dt的元素內的所有信息
alert(G('.dt').innerHTML);測試
獲取所有class為.dt的元素 改變背景顏色為(#85B3DC)
G('.dt',true).css({'backgroundColor':'#85B3DC'});測試
獲取所有class為.dt的元素 下面的第一個p元素 改變背景顏色為(#85B3DC)
G('.dt',true).$('p').css({'backgroundColor':'#85B3DC'});測試
獲取所有class為.dt的元素 下面的所有p元素 返回的是一個二維數組
G('.dt',true).$('p',true);
18個常用方法
方法 | 說明 |
---|---|
$$ | G.$$('div')創建dom對象 |
F | G.F() 初始化自動驗證表單 在表單加載完調用 |
TE | G.TE(對象,lr|tb|all|lclick,滑動結束函數,滑動過程中的函數?,滑動開始函數?) 手勢操作 滑動結束函數發回的是1 或則 -1 或著 滑動的距離 |
aj | ajax G.aj(url地址,POST數據,回調函數,格式?) 有防止多次提及的功能 相同的數據和地址 前一次提交沒有返回 會自動屏蔽后面的提交 |
notice | 注意提示 G.alert('提示內容',是否有遮蔽層=false,回調函數=false,時間=3000) |
alert | 警告提示 G.alert('提示內容',是否有遮蔽層=false,回調函數=false,時間=3000) |
success | 成功提示 G.alert('提示內容',是否有遮蔽層=false,回調函數=false,時間=3000) |
error | 錯誤提示 G.alert('提示內容',是否有遮蔽層=false,回調函數=false,時間=3000) |
box | 彈出窗口 G.box('標題',內容,是否有遮蔽層=false,關閉時的回調函數) |
confirm | 確認提示 G.confirm('提示內容',function(r){},是否有遮蔽層) |
prompt | 輸入提示 G.prompt('提示內容',function(r){},是否有遮蔽層) |
move | G.move(事件作用元素的對象,需要移動元素對象) |
fix | G.fix(css3屬性,css3值);返回一個兼容個瀏覽器的css對象 |
fnr | G.fnr(from對象);返回from的所有元素的值 |
ldimg | G.ldimg(圖片url地址,回調函數);預加載圖片 |
on | G.on(元素,事件,函數方法);綁定事件在元素上 |
rand | G.rand(最小數,最大數,是否是浮點數=false);產生隨機數 |
urlencode | G.urlencode(字符串);轉換成url編碼 |
DEMO
G.alert | G.error | G.success | G.notice 方法
<script type="text/javascript">
/*
G.alert(s,c,f,t),G.error(s,c,f,t),G.success(s,c,f,t),G.notice(s,c,f,t)
@s:提示信息;
@t:顯示時間;默認 2000 毫秒
@f:回調函數
@c:是否有遮蔽層 默認true
*/
G.alert('用戶名不能空!');
//有遮蔽層
G.alert('用戶名不能空!',true);
//無遮蔽層 提示完跳轉到 http://www.yxsss.com
G.alert('用戶名不能空!',false,function(){window.location='http://www.yxsss.com'});
</script>測試
G.F() 表單自動驗證
屬性 | 說明 |
---|---|
req | req="true" 表示必填項,不能為空 |
exp | 填寫正則表達式,當前元素內的內容符合發回true,不符合給出警告 |
ts | 當內容不符時的提示信息 如果沒有 會依次尋找placeholder,上一級上一個元素的信息 |
fname | 無刷新上傳文件的的name |
funbak | 無刷新上傳文件成功后后臺返回的信息 的回調函數 |
furl | 無刷新上傳文件地址 當為空時 默認為當前form的action地址 |
funstr | 上傳開始時執行的函數 默認為空 |
DEMO
req 屬性
<!-- req="true" 表示用戶名為必填項,當用戶名為空是提示為: 提示語默認是 元素的父級的上一個元素的內容。下面的提示為 用戶名不能為空; 自定義提示提示信息看 屬性ts --> <form action="" method="post"> <table> <tr><td>用戶名:</td><td><input type="text" req="true"></td></tr> <tr><td colspan="2"><input type="submit" value="提交"></td></tr> </table> </form>
exp | ts 屬性
<!-- exp="這里填寫正則表達式" 表示當內容不為空時,用正則表達式驗證當前元素里面的內容 如:必填 郵箱格式 自定義提示語 --> <form action="javascript:;" method="post"> <table> <tr><td>email:</td><td><input type="text" ts="郵箱格式不正確" req="true" exp="^[\w\-_\.]+@[\w\-]+(\.[a-zA-Z]{2,6}){1,2}$"></td></tr> <tr><td colspan="2"><input type="submit" value="提交"></td></tr> </table>
fname | funbak | furl | funstr 屬性
<!-- fname:后臺接收時用的名字, 必填 funstr:開始上傳執行的函數, 默認無 funbak:上傳成功后的回調函數, 必填 furl:上傳地址; 默認當前form的提交頁面 注意:上傳地址和當前地址必須為同意域名否則回調函數獲取不到 上傳成功發回的地址。 a.php: $path='a.jpg'; move_uploaded_file($_FILES['uimg']['tmp_name'],$path); exit(json_encode(array('ztai'=>true,'url'=>$path))); --> <form action="" method="get"> <input type="button" fname="uimg" funstr="function(){document.title='圖片正在上傳……';return false;}" funbak="ddd" furl="a.php" value="本地上傳"> </form> <script type="text/javascript"> function ddd(da){ if(da.ztai){ document.title='上傳完成'; G.success('上傳成功保存地址為'+da.url); } } </script>
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!