導語:
(學習影片分享:程式設計影片)
我們知道layui的layer模組中的anim參數是可以設定彈跳窗動畫效果的,但是這種彈跳窗動畫種類很少。現在專案中要實現一個從右側彈出的彈窗效果,因此參考官方模板layuiAdmin後自己封裝了一個滑動彈窗,現在分享給大家。
1.layui封裝自訂元件
在layui的js資料夾下建立新的資料夾layui_exts,並在資料夾下建立自訂的js檔案rightPopup.js,如下圖:
js檔案寫入程式碼,程式碼如下(範例):
layui.define(['layer'], function(exports){ var layer = layui.layer; var obj = { rightPopupLayer: function (content='') { layer.open({ type: 1, title: '', offset: ['10px', '100%'], skin: 'layui-anim layui-anim-rl layui-layer-adminRight', closeBtn: 0, content: content, shadeClose: true, area: ['16%', '95%'] }) let op_width = $('.layui-anim-rl').outerWidth(); $('.layui-layer-shade').off('click').on('click', function () { $('.layui-anim-rl').animate({left:'+='+op_width+'px'}, 300, 'linear', function () { $('.layui-anim-rl').remove() $('.layui-layer-shade').remove() }) }) } }; exports('rightPopup', obj); });
2.在全域js中設定layui導入自訂元件入口
3.設定自訂元件的樣式
在自訂元件的layer中的skin屬性裡加入對應選擇器名稱後,layer的彈框就會自動將skin參數當作class屬性值。
@keyframes layui-rl{ from{transform:translateX(0px);}to{transform:translateX(-100%);} } @-webkit-keyframes layui-rl{ from{transform:translateX(0px);}to{transform:translateX(-100%);} } .layui-anim { -webkit-animation-duration: .3s; animation-duration: .3s; -webkit-animation-fill-mode: both; animation-fill-mode: both; } .layui-anim-rl { -webkit-animation-name: layui-rl; animation-name: layui-rl; } .layui-layer-adminRight { box-shadow: 1px 1px 10px rgba(0,0,0,.1); border-radius: 0; overflow: auto; }
4.最後
依照layui使用其他模組的方式使用自訂模組即可。
相關推薦:layui教學
#以上是layui自訂滑動彈窗動畫的詳細內容。更多資訊請關注PHP中文網其他相關文章!