關於jquery的彈窗元件簡單封裝
前言:由於自己工作時多數是基於移動端的頁面工程,很多時候都需要用到彈窗元件,網上也有很多好用,五花八門的彈窗外掛,但是由於網上各個版本有些功能過於強大,導致外掛大小比較大,有些樣式不好自己進行各種自定義設計,有些則是達不到自己想要的那種需求,比如實現彈窗按鈕的各種回撥函式,於是自己就根據公司目前專案的需求 ,自己簡單封裝了一個彈窗元件。
可簡單自定義各式各樣的樣式
思路分析:
- 宣告一個帶有物件引數的函式
var alert = function(param){...}
- 對函式引數進行賦值拆分
var title = param.title,
content = param.content,
yes Text = param.yesText || '確定',
noText = param.noText,
yesFn = param.yesFn,
noFn = param.noFn;
- 構建html結構
var htm = "";
htm += '<div class="lacy-alert"><div class="bgd">';
if (title) htm += '<header class="hd">' + title + '</header>';
htm += '<div class="bd">' + content + '</div ></div>';
if (!noText){
htm += '<footer class="fd">' +
'<a href="#" class=" alert-btn alert-btn-lg" data-role="closeBtn" id="yes_long_btn">' + yesText + '</a>' +
'</footer>';
htm += '</div>';
}
else{
htm += '<footer class="fd">' +
'<a href="#" class=" alert-btn alert-btn-st" id="yes_btn">' + yesText + '</a>' +
'<a href="#" class=" alert-btn alert-btn-st" data-role="closeBtn">' + noText + '</a>' +
'</footer>';
htm += '</div>';
}
- 將彈窗結構放入頁面
$("body").append(htm);
- 彈窗按鈕處理
var al = $(".lacy-alert");
al.on("click", '[data-role="closeBtn"]', function() {
$(".lacy-alert").remove();
});
$("#yes_btn,#yes_long_btn").bind("click" , function () {
$(".lacy-alert").remove();
if(param.yesFn){
param.yesFn();
}
param = {};
});
- 函式呼叫
alert({
title:'提示',
content:'我是彈窗',
noText:'no',
yesText:'yes'
})
- 自定義樣式
/*alert元件*/
.lacy-alert{position:fixed; top:50%;left:50%; z-index:1000; border-radius:12px; width:80%; background:#fff;overflow: hidden;-webkit-transform:translateX( -50% ) translateY( -50% );transform:translateX( -50% ) translateY( -50% ); -webkit-box-sizing:border-box; box-sizing:border-box; color: #484848;border: 1px #22b2e1 solid;max-width: 600px}
.lacy-alert .bgd{padding: .5rem;line-height: 1.5;}
.lacy-alert .hd{height:40px; line-height:40px; text-align: center;font-size:.9rem;}
.lacy-alert .bd{margin: 1rem .5rem 0;font-size:.75rem;height: 3.5rem;text-align: center}
.lacy-alert .bd p{font-size:14px; padding:0; line-height: 1.5em;}
.lacy-alert .fd{padding:.4rem 0; text-align:center;height: 2.4rem; line-height: 2.4rem}
.lacy-alert .alert-btn{ outline:none; display:inline-block !important; height:1.5rem; line-height:1.5rem; padding:0 16px; color:#fff; font-size:.9rem; text-align:center; vertical-align:middle; border:none; border-radius:4px; box-sizing:border-box;}
.lacy-alert .alert-btn-lg{width:30%;color:#22b2e1; text-align:center;border-radius: 8px;}
.lacy-alert .alert-btn-st{width:48%;color:#22b2e1; text-align:center;}
相關推薦
關於jquery的彈窗元件簡單封裝
前言:由於自己工作時多數是基於移動端的頁面工程,很多時候都需要用到彈窗元件,網上也有很多好用,五花八門的彈窗外掛,但是由於網上各個版本有些功能過於強大,導致外掛大小比較大,有些樣式不好自己進行各種自定義設計,有些則是達不到自己想要的那種需求,比如實現彈窗按鈕的各
論如何用Vue實現一個彈窗-一個簡單的元件實現
前言 最近在使用element-ui框架,用到了Dialog對話方塊元件,大致實現的效果,跟我之前自己在移動端專案裡面弄的一個彈窗元件差不太多。然後就想著把這種彈窗元件的實現方式與大家分享一下,下面本文會帶著大家手摸手實現一個彈窗元件。 本文主要內容會涉及到
封裝React AntD的dialog彈窗元件
前一段時間分享了基於vue和element所封裝的彈窗元件(封裝Vue Element的dialog彈窗元件),今天就來分享一個基於react和antD所封裝的彈窗元件,反正所使用的技術還是那個技術,情況還是那個情況。只是基於vue所封裝的彈窗元件和基於react所封裝的彈窗元件還是有很大差別的。一樣的是封裝
篩選控制元件簡單封裝總結
嘗試封裝一個篩選控制元件,能提供各屬性進行自定義修改。專案中註釋地比較詳細,而且程式碼也不復雜,可以根據自己的需求進行自定義修改。 demo地址:https://github.com/liujunwei2018/The-drop-down-menu 效果演示: &nb
React彈窗元件
原文地址 小寒的部落格 這裡的彈窗泛指所有的彈出元件,這些元件不受頁面其他UI佈局影響,處於DOM結構的頂層,絕對定位在body元素下。 這個特殊性也給它的開發提出了特殊的要求。 react新版本中的createPortal Api可以很方便的製造一個元件到制定的dom裡
有贊彈窗元件的bug處理
近期做小程式商城專案中引用了有讚的彈窗元件,出現兩個bug 滾動穿透 因為彈窗上面也有滾動事件,所以簡單地新增catchtouchmove並不能解決問題。解決方案,動態新增樣式類 .noScroll{ top:0px; left: 0px; width: 1
jquery 彈窗外掛 layer
layer是一款近年來備受青睞的web彈層元件,她具備全方位的解決方案,致力於服務各水平段的開發人員,您的頁面會輕鬆地擁有豐富友好的操作體驗。 功能的一些展示: //初體驗 layer.alert('內容') //第三方擴充套件面板 layer.alert('內
從零開始徒手擼一個vue的toast彈窗元件
相信普通的vue元件大家都會寫,定義 -> 引入 -> 註冊 -> 使用,行雲流水,一氣呵成,但是如果我們今天是要自定義一個彈窗元件呢? 首先,我們來分析一下彈窗元件的特性(需求): 0. 輕量 –一個元件小於 1Kib (實際打包完不到0
6、用vue2.0extend寫alert模態框彈窗元件
通過Vue.extend建立元件構造器的方法寫彈窗元件 alert.js檔案程式碼 import Vue from 'vue' // 建立元件構造器 const alertHonor = Vue.extend(require('./alert.vue')); var cu
自己整理一個div的jquery彈窗效果
js: function letDivCenter(divName) { var top = $(divName).height(); var left = ($(window).width() - $(divName).width(
彈窗元件
function popUp(){ _this = this; } popUp.prototype = { init:function(){ _this.drag() _this.mark(); }, mark:function(){
django layer彈窗元件使用
父層: <div class="col-xs-12"> <div class="box"> <div class="box-header"> <
jQuery 彈窗
總結一些一個基於jQuery的彈出層外掛。支援多視窗,拖動,最大化最小化,固定定位,相對於某個位置定位,具有簡化的Tips模式。可以自定義外觀等等,具體的看引數和演示 引數說明: 名稱 說明 type 彈出層型別,可選[dialog|tips](預設為“dialog”) th
原生js彈窗元件練習
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html
自定義小程式彈窗元件
自己寫的不限制字數的彈窗,因為原生的彈窗限制字數,就無聊寫了一個,不是很好,可自行優化。 描述 小程式彈窗使用方法 引入元件相關檔案 在使用彈窗的頁面引入元件 <toast id="toast" params="{{params}}"></toast> 在app.w
彈窗元件詳細設計
彈窗 文字輸入 輸入文字,確定,取消 不需要後端給資料支援 單選 單選選中,確定,取消 彈窗內列表選值,篩選功能(首字母篩選) [ { "n
vue彈窗元件練習
彈窗是一個專案必備的複用利器,所以封裝起來,保證專案ui一致,是很有必要的。學了一段時間vue,想想還是用vue寫一下吧。用的很小白,但是會寫出來了,說明我也有進步一丟丟了。繼續加油…. 程式碼貼圖如
vue3系列:vue3.0自定義全域性彈層V3Layer|vue3.x pc桌面端彈窗元件
基於Vue3.0開發PC桌面端自定義對話方塊元件V3Layer。 前兩天有分享一個vue3.0移動端彈出層元件,今天分享的是最新開發的vue3.0版pc端彈窗元件。 V3Layer 一款使用vue3.0開發的多功能PC網頁端自定義彈窗元件。擁有超過10+種彈窗型別、30+種引數配置,支援拖拽(自定義
JavaScript封裝自己的一個彈窗,是雙按鈕的,比較簡單一些 ,其中引用了jQuery來寫的方法,最後暴露出去,有更好的建議歡迎評論 。。。。
$(function(){ // 設定自執行函式 (function(jQuery){ // 定義建構函式 var Popup = function (title,text,fn) { this.title = title || '
OC 簡單封裝UIAlertController實現單按鈕彈窗和雙按鈕彈窗
1.程式碼如下: @interface AlertView : UIView + (AlertView *)shareAlertView; /**帶有單按鈕的彈出檢視 顏色可以不填*/ - (void)alertWithTitle:(NSString *)tit