css/jq--弹窗写法介绍,jq插件介绍

//html文件

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">

    <title>Document</title>
    <link rel="stylesheet" href="pop_up.css">
    <script src="jquery-2.1.3.min.js"></script>
    <script src="pop_up.js"></script>
</head>

<body>
    <!-- <div id="corBackground" class="corBackground" style="display:block">
        <div class="payMark" style="display:block;">
            <div class="number-wrap">
                <div class="number" style="text-align:center">此次共消费:<span>200</span><span>元</span></div>
            </div>
            <div class="zfb-pay"><a href="">支付宝</a></div>
            <div class="wx-pay"><a href="">微信支付</a></div>
            <div class="close-btn"><a href="">取消</a></div>
        </div>
    </div>-->
    <button class="aa">点击</button>
</body>
<script>
    $('.aa').bind('click', function(e) {
        $('body').paybox({
            //总消费(元)
            Rmb: '200',
            //支付宝支付链接
            zfb_link: '',
            //微信支付链接
            wx_link: '',
            //取消支付返回链接
            close_link: '',
            submit: function(data) {
                submitFun(data);
            }

        });
    });
</script>

</html>

//css文件pop_up.css

 * {
 	margin: 0;
 	padding: 0;
 }
/*去除a标签的默认样式*/
 a {
 	text-decoration: none;
 	color: inherit;
 	-webkit-user-select: none;
 	-moz-user-select: none;
 	-ms-user-select: none;
 	user-select: none;
 	-webkit-appearance: none;
 	-webkit-text-size-adjust: none;
 	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
 	-webkit-touch-callout: none
 }
 a:focus {
 	-webkit-tap-highlight-color: rgba(0, 0, 0, 0)
 }
 /*遮罩层透明度的动画*/
 
 @-webkit-keyframes cor_bg_anime {
 	0% {
 		background-color: rgba(0, 0, 0, 0)
 	}
 	100% {
 		background-color: rgba(0, 0, 0, .3)
 	}
 }
 @keyframes cor_bg_anime {
 	0% {
 		background-color: rgba(0, 0, 0, 0)
 	}
 	100% {
 		background-color: rgba(0, 0, 0, .3)
 	}
 }
 .corBackground {
 	width: 100%;
 	height: 100%;
 	position: fixed;
 	background-color: rgba(0, 0, 0, .3);
 	top: 0;
 	left: 0;
 	z-index: 19;
 	display: none;
 	-webkit-animation: cor_bg_anime ease .5s;
 	animation: cor_bg_anime ease .5s
 }
 /*窗体动画,从下往上升*/
 
 @-webkit-keyframes animations {
 	0% {
 		-webkit-transform: translate(0, 200px)
 	}
 	100% {
 		-webkit-transform: translate(0, 0)
 	}
 }
 @keyframes animations {
 	0% {
 		-webkit-transform: translate(0, 200px);
 		transform: translate(0, 200px)
 	}
 	100% {
 		-webkit-transform: translate(0, 0);
 		transform: translate(0, 0)
 	}
 }
 .payMark {
 	display: none;
 	width: 100%;
 	background-color: #fff;
 	font-size: 0;
 	z-index: 1000;
 	position: absolute;
 	left: 0;
 	bottom: 0px;
 	-webkit-animation: animations .5s ease forwards;
 	animation: animations .5s ease forwards
 }
 /*---------------------窗体内容的css-------------------------*/
 
 .number-wrap {
 	padding: 12px 0 23px;
 	font-size: 12px
 }
 .number {
 	line-height: 13px;
 	text-align: center
 }
 .number span {
 	color: #fb4847
 }
 .zfb-pay {
 	background-color: #1e81d2;
 }
 .wx-pay {
 	background-color: #09ba07;
 }
 .zfb-pay,
 .wx-pay {
 	display: block;
 	width: 85.94%;
 	height: 37px;
 	margin: 0 auto;
 	text-align: center;
 	border-radius: 6px;
 	margin-bottom: 13px;
 }
 .zfb-pay a,
 .wx-pay a {
 	display: block;
 	width: 100%;
 	height: 37px;
 	line-height: 37px;
 	margin: 0 auto;
 	color: #fff;
 	font-size: 14px;
 	border-radius: 6px;
 }
 .close-btn {
 	border-top: 1px solid #e8e8e8;
 	color: #3b3b3b;
 	font-size: 14px;
 	line-height: 14px;
 	text-align: center;
 }
 .close-btn a {
 	display: block;
 	height: 52px;
 	width: 100%;
 	line-height: 52px;
 }

//js文件pop_up.js

(function($) {
    $.fn.paybox = function(options) {
        var defaults = {//默认参数
            //总消耗(元)
            Rmb: '',
            //支付宝支付链接
            zfb_link: '',
            //微信支付链接
            wx_link: '',
            //取消支付返回链接
            close_link: '',
            submit: function(data) {}//回调函数
        };
        $.extend(defaults, options);//页面传入的参数替换默认参数
        //   var defaults = options;
        var $this = $(this);
        //支付弹窗内容块
        var paychuanEle = $('<div id="corBackground" class="corBackground" style="display:block"><div class="payMark" style="display:block">
<div class="number-wrap"><div class="number" style="text-align:center">此次共消费:<span>' + defaults.Rmb + '</span><span>元</span></div></div>
<div class="zfb-pay"><a href="' + defaults.zfb_link + '">支付宝</a></div><div class="wx-pay"><a href="' + defaults.wx_link + '">微信支付</a></div>
<div class="close-btn"><a href="' + defaults.close_link + '">取消支付</a></div></div></div>'); //塞入窗体 $this.append(paychuanEle); //阻止元素发生默认的行为 paychuanEle.bind('touchmove', function(e) { e.preventDefault(); }); //hold窗体不消失 var ishanding = false; //点击取消,窗体移除 paychuanEle.find('.close-btn').click(function(e) { if (ishanding) { return; } //console.log(e); $("#corBackground").remove(); }); //禁止冒泡,阻止窗体移除 paychuanEle.find('.payMark').click(function(e) { e.stopPropagation(); }); return { //移除 fadeout: function() { paychuanEle.remove(); }, loading: function() { // ishanding = true; } }; }; })(jQuery); 
//下面我们来分析一下这个pop_js.js,到底怎么样实现这个插件的

1.定义一个闭包区域,防止插件"污染"
 (function($){ ....... })(jQuery); 

 2.$.fn.extend(object)扩展jquery 方法,制作插件

 (function($) { $.fn.paybox = function(options) {... }; })(jQuery); 

 3.让页面绑定插件,转入参数(如下图)

826719-20170421150649931-1985208627.png

  $.extend(defaults, options);//页面传入的参数替换默认参数

 4.定义一个变量 var paychuanEle,窗体ele(建议先在html上写好结构和样式)

  然后把窗体paychuanEle,塞入窗体  $this.append(paychuanEle);

$this指的是绑定这个插件的元素,这里绑定插件的是body,$("body").paybox({...})

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel=icon href=/static/dist/favicon.ico> <title>Document</title> <link href=/static/dist/css/chunk-13070ec1.ccda3c25.css rel=prefetch> <link href=/static/dist/css/chunk-1f6eb24a.5552800c.css rel=prefetch> <link href=/static/dist/css/chunk-2450c4ac.37f7ca9b.css rel=prefetch> <link href=/static/dist/css/chunk-24a27c0c.d809b953.css rel=prefetch> <link href=/static/dist/css/chunk-25dec777.b68c08db.css rel=prefetch> <link href=/static/dist/css/chunk-3a7e7ac7.61f67a30.css rel=prefetch> <link href=/static/dist/css/chunk-3ac3afd8.98bc23e9.css rel=prefetch> <link href=/static/dist/css/chunk-3b4a96bb.a0ee3bc1.css rel=prefetch> <link href=/static/dist/css/chunk-42b28a6b.64434a61.css rel=prefetch> <link href=/static/dist/css/chunk-517ab105.39040074.css rel=prefetch> <link href=/static/dist/css/chunk-56490945.643cad5c.css rel=prefetch> <link href=/static/dist/css/chunk-63b82705.d2b7ad58.css rel=prefetch> <link href=/static/dist/css/chunk-716622da.8a497f1a.css rel=prefetch> <link href=/static/dist/js/chunk-13070ec1.cc5aaa8f.js rel=prefetch> <link href=/static/dist/js/chunk-1f6eb24a.bca948d6.js rel=prefetch> <link href=/static/dist/js/chunk-2450c4ac.58e1bc6a.js rel=prefetch> <link href=/static/dist/js/chunk-24a27c0c.0ab7f6d8.js rel=prefetch> <link href=/static/dist/js/chunk-25dec777.2148f1f7.js rel=prefetch> <link href=/static/dist/js/chunk-3a7e7ac7.513dffb8.js rel=prefetch> <link href=/static/dist/js/chunk-3ac3afd8.6c148bd8.js rel=prefetch> <link href=/static/dist/js/chunk-3b4a96bb.73517657.js rel=prefetch> <link href=/static/dist/js/chunk-42b28a6b.1e8780b2.js rel=prefetch> <link href=/static/dist/js/chunk-517ab105.1e512cbc.js rel=prefetch> <link href=/static/dist/js/chunk-56490945.c3e3cef6.js rel=prefetch> <link href=/static/dist/js/chunk-63b82705.f1066fe6.js rel=prefetch> <link href=/static/dist/js/chunk-716622da.244a901e.js rel=prefetch> <link href=/static/dist/css/app.a627b381.css rel=preload as=style> <link href=/static/dist/css/chunk-vendors.3fe6fb1a.css rel=preload as=style> <link href=/static/dist/js/app.a15d8424.js rel=preload as=script> <link href=/static/dist/js/chunk-vendors.eac65f44.js rel=preload as=script> <link href=/static/dist/css/chunk-vendors.3fe6fb1a.css rel=stylesheet> <link href=/static/dist/css/app.a627b381.css rel=stylesheet> </head> <body><noscript><strong>We're sorry but iview-admin doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript> <div id=app></div> <script src=/static/dist/js/chunk-vendors.eac65f44.js></script> <script src=/static/dist/js/app.a15d8424.js></script> </body> </html> 帮我整理一下代码
最新发布
05-05

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值