日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

024-底层方法

發(fā)布時間:2025/4/17 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 024-底层方法 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. 全局配置

1.1. 方法: layui.config(options)。

1.2. 你可以在使用模塊之前, 全局化配置一些參數(shù), 盡管大部分時候它不是必須的。目前支持的全局配置項如下:

layui.config({dir: '/res/layui/' // layui.js所在路徑(注意, 如果是script單獨引入layui.js, 無需設(shè)定該參數(shù)。), 一般情況下可以無視。,version: false // 一般用于更新模塊緩存, 默認(rèn)不開啟。設(shè)為true即讓瀏覽器不緩存。也可以設(shè)為一個固定的值, 如: 201610。,debug: false // 用于開啟調(diào)試模式, 默認(rèn)false, 如果設(shè)為true, 則JS模塊的節(jié)點會保留在頁面。,base: '' // 設(shè)定擴展的layui模塊的所在目錄, 一般用于外部模塊擴展。 });

2. 定義模塊

2.1. 方法: layui.define([mods], callback)。

2.2. 通過該方法可定義一個layui模塊。參數(shù)mods是可選的, 用于聲明該模塊所依賴的模塊。callback即為模塊加載完畢的回調(diào)函數(shù), 它返回一個exports參數(shù), 用于輸出該模塊的接口。

layui.define(function(exports){exports('alias', function(){return '一般對子目錄模塊建立別名';}); });

2.3. exports是一個函數(shù), 它接受兩個參數(shù), 第一個參數(shù)為模塊名, 第二個參數(shù)為模塊接口, 當(dāng)你聲明了上述的一個模塊后, 你就可以在外部使用了, alias就會注冊到layui對象下, 即可通過layui.alias()去執(zhí)行該模塊的接口。

2.4. 你也可以在定義一個模塊的時候, 聲明該模塊所需的依賴:

layui.define('code', function(exports){exports('etdCode', {title: '代碼修飾器擴展模塊',code: function(id, elem, title, height, encode, skin, about){var elem = document.getElementById(id);elem.innerHTML = elem.innerHTML.trim();layui.code({elem, title, height, encode, skin, about});}}); });

2.5. mods參數(shù)并非只能是一個數(shù)組, 你也可以直接傳一個字符型的模塊名, 但是這樣只能依賴一個模塊。上述的'code'即為本模塊所依賴的模塊, 同時exports函數(shù)的第二個參數(shù)是一個對象。

2.6. layui的模塊接口會綁定在layui對象下, 內(nèi)部由layui.define()方法來完成。每一個模塊都會一個特有的名字, 并且無法被占用。所以你無需擔(dān)心模塊的空間被污染, 除非你主動delete layui.{模塊名}。調(diào)用模塊可通過layui.use方法來實現(xiàn), 然后再通過layui對象獲得模塊接口。如:

layui.use(['layer', 'laypage', 'laydate'], function(){var layer = layui.layer // 獲得layer模塊,laypage = layui.laypage // 獲得laypage模塊,laydate = layui.laydate; // 獲得laydate模塊// 使用模塊 });

3. 拓展一個模塊別名

3.1. 方法: layui.extend(options)。一般用于你的擴展模塊, 給具有多級子目錄的模塊起一個別名。

<script type="text/javascript">layui.config({base: 'layui/etdCode/'}).extend({alias: 'child/alias'}); </script>

3.2. 你也可以忽略base設(shè)定的根目錄, 直接在extend指定路徑。{/}的意思即代表采用自有路徑, 即不跟隨base路徑。

<script type="text/javascript">layui.extend({mod2: '{/}http://cdn.xxx.com/lib/mod2' }); </script>

4. 擴展模塊例子

4.1. 在layui目錄下新建一個etdCode作為我們擴展模塊的目錄

4.2. 在etdCode目錄新建一個etdCode.js的擴展模塊

4.3. 編輯etdCode.js模塊代碼

layui.define('code', function(exports){exports('etdCode', {title: '代碼修飾器擴展模塊',code: function(id, elem, title, height, encode, skin, about){var elem = document.getElementById(id);elem.innerHTML = elem.innerHTML.trim();layui.code({elem, title, height, encode, skin, about});}}); });

4.4. 在etdCode目錄下還有一個child目錄, 是我們的alias模塊

4.5. 編輯alias.js模塊代碼

layui.define(function(exports){exports('alias', function(){return '一般對子目錄模塊建立別名';}); });

4.6. 編輯extendcode.html使用擴展模塊

<!DOCTYPE html> <html><head><meta charset="utf-8" /><title>code模塊的擴展</title><link rel="stylesheet" type="text/css" href="layui/css/layui.css"><script type="text/javascript" src="layui/layui.js"></script></head><body><pre class="layui-code" id='test1'>var person = { firstName:"Bill",lastName:"Gates",age:50,eyeColor:"blue"}</pre> <div id='test2'></div> <script type="text/javascript">layui.config({base: 'layui/etdCode/'}).extend({alias: 'child/alias'});// 使用use方法引入模塊layui.use(['etdCode', 'alias'], function(){var etdCode = layui.etdCode;layui.$('#test2').text(layui.alias());etdCode.code('test1');});</script> </body> </html>

4.7. 效果圖

5. 獲取設(shè)備信息

5.1. 方法: layui.device(key), 參數(shù)key是可選的。

5.2. 由于layui的一些功能進(jìn)行了兼容性處理和響應(yīng)式支持, 因此該方法同樣發(fā)揮了至關(guān)重要的作用。尤其是在layui mobile模塊中的作用可謂舉足輕重。該方法返回了豐富的設(shè)備信息:

var device = layui.device();// device即可根據(jù)不同的設(shè)備返回下述不同的信息 {os: "windows" // 底層操作系統(tǒng), windows、linux、mac等,ie: false // ie6-11的版本, 如果不是ie瀏覽器, 則為false,weixin: false // 是否微信環(huán)境,android: false // 是否安卓系統(tǒng),ios: false // 是否ios系統(tǒng),mobile: false // 是否為移動設(shè)備 }

6. 其它

方法/屬性

描述

layui.cache

靜態(tài)屬性。獲得一些配置及臨時的緩存信息。

layui.each(obj, fn)

對象(Array、Object、DOM對象等)遍歷, 可用于取代for語句。

layui.getStyle(node, name)

獲得一個原始DOM節(jié)點的style屬性值, 如: layui.getStyle(document.body, 'font-size')。

layui.img(url, callback, error)

圖片預(yù)加載。

layui.sort(obj, key, desc)

將數(shù)組中的對象按某個成員重新對該數(shù)組排序, 如: layui.sort([{a: 3},{a: 1},{a: 5}], 'a')。

layui.router()

獲得location.hash路由結(jié)構(gòu), 一般在單頁面應(yīng)用中發(fā)揮作用。

layui.url(href)

用于將一段URL鏈接中的pathname、search、hash屬性值進(jìn)行對象化處理。

參數(shù): href可選。若不傳, 則自動讀取當(dāng)前頁面的url(即: location.href)。

示例: var url = layui.url();

layui.hint()

向控制臺打印一些異常信息, 目前只返回了error方法: layui.hint().error('出錯啦')。

layui.stope(e)

阻止事件冒泡。

layui.onevent(modName, events, callback)

增加自定義模塊事件。

layui.event(modName, events, params)

執(zhí)行自定義模塊事件, 搭配onevent使用。

layui.off(events, modName)

用于移除模塊相關(guān)事件的監(jiān)聽。

如: layui.off('select(filter)', 'form'), 那么form.on('select(filter)', callback)的事件將會被移除。

layui.factory(modName)

用于獲取模塊對應(yīng)的define回調(diào)函數(shù)。

layui.link(href)

動態(tài)加載CSS。href即為css路徑。注意: 該方法并非是你使用layui所必須的, 它一般只是用于動態(tài)加載你的外部CSS文件。

layui.data(table, settings)

對localStorage的友好封裝。持久化存儲, 數(shù)據(jù)會永久存在, 除非物理刪除。

layui.sessionData(table, settings)

對sessionStorage的友好封裝。會話性存儲, 數(shù)據(jù)在頁面關(guān)閉后即失效。

7. 例子

7.1. 代碼

<!DOCTYPE html> <html><head><meta charset="utf-8" /><title>layui其它底層方法</title><link rel="stylesheet" type="text/css" href="layui/css/layui.css"><script type="text/javascript" src="layui/layui.js"></script></head><body><div id="test1"></div> <script type="text/javascript">layui.use(['jquery'], function(){var $ = layui.jquery;// 平臺信息var device = layui.device();var platform = '';// 變量對象layui.each(device, function(key, value){platform += (key + ':' + value + '<br />');});$('#test1').html(platform);});</script> </body> </html>

7.2. 效果圖

總結(jié)

以上是生活随笔為你收集整理的024-底层方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。