一個通過script自定義屬性傳遞配置參數(shù)的方法
剛剛開始正式的職業(yè)生涯,最近幾天在給公司做統(tǒng)一的頭部js,想到了一個通過script自定義屬性傳遞配置參數(shù)的方法。
有時候我們編寫了一個js插件,要使用該插件需要先在html中引入該插件Js,然后再添加一個script標(biāo)簽,在里面調(diào)用。如一個圖片切換的插件。其代碼大致如下:
$.fn.picSwitch = function(option){ //這里是圖片切換的代碼 }
再引入了該插件后,需要再在另外的script標(biāo)簽內(nèi)加入調(diào)用代碼
$('#pic').picSwitch({ 'speed' : '400', 'derection' : 'left' //... 這里是配置 })
這當(dāng)然沒有什么問題,但有些時候我們并不想再多添加個script標(biāo)簽,如果只引入script標(biāo)簽,那該怎么做怎么傳遞配置參數(shù)呢?
這時候我們就可以利用script上的自定義屬性進(jìn)行傳遞配置參數(shù)。在這之前先要對該圖片切換插件進(jìn)行處理。修改后代碼如下:
$.fn.picSwitch = function(){ //這里是圖片切換的代碼 };
//寫好插件后就直接調(diào)用
$('這里是選擇器,需要在script標(biāo)簽上獲取').picSwitch('這里是配置參數(shù),需要在script標(biāo)簽上獲取');
接下來就是用script上傳遞參數(shù)了,在html頁面上如下引用該js插件。
<head> <script src='/script/picSwitch.js' id='picSwitch' obj='#pic' option='{"speed":"400","derection":"left"}'></script> </head> <body> <div id="pic"> //這里是具體結(jié)構(gòu) </div> </body>
最后再修改插件為:
$.fn.picSwitch = function(){ //這里是圖片切換的代碼 }; //寫好插件后就直接調(diào)用 var script = $('#picSwitch'),//標(biāo)簽上的id selector = script.attr('selector'), option = JSON.parse(script.attr('option'));//標(biāo)簽上的是字符串需要轉(zhuǎn)為json對象 $(selector).picSwitch(option);
這樣就只用了一個標(biāo)簽便實現(xiàn)了功能,配置變化只需要改變script自定義屬性即可。
相關(guān)文章
解決使用layui的時候form表單中的select等不能渲染的問題
今天小編就為大家分享一篇解決使用layui的時候form表單中的select等不能渲染的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09在JavaScript中使用mqtt.js的詳細(xì)過程
這篇文章主要介紹了在JavaScript中使用mqtt.js的相關(guān)知識,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-04-04javascript正則表達(dá)式之search()用法實例
這篇文章主要介紹了javascript正則表達(dá)式之search()用法,實例分析了search()的使用技巧,需要的朋友可以參考下2015-01-01