密通学院

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2853|回复: 0

仿知乎专栏赞赏:支持支付宝和微信打赏

[复制链接]

282

主题

27

回帖

8万

铜板

超级版主

Rank: 8Rank: 8

积分
89153
QQ
发表于 2018-8-10 09:17:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
给自己的博客加了一个支付宝和微信的赞赏功能,在文章的最底部,点击赞赏按钮,就会出现一个类似知乎专栏的赞赏弹窗,不过知乎的比较高级,它那个是调用微信的支付接口,我这个只是简单的使用了几张二维码图片替换,所以没法显示有哪些人打赏了。 QQ截图20180810091553.png
代码如下:
1、htm代码
  1. <div class="entry-shang text-center">
  2.         <p>「真诚赞赏,手留余香」</p>
  3.         <button class="zs show-zs btn btn-bred">赞赏</button>
  4. </div>
  5. <div class="zs-modal-bg"></div>
  6. <div class="zs-modal-box">
  7.         <div class="zs-modal-head">
  8.                 <button type="button" class="close">×</button>
  9.                 <span class="author"><img src="http://cn.gravatar.com/avatar/cffb5aa78e9e9c53fd89cc8c3e59580b?d=identicon&r=G&s=80"/>前端博客</span>
  10.                 <p class="tip"><i></i><span>真诚赞赏,手留余香</span></p>

  11.         </div>
  12.         <div class="zs-modal-body">
  13.                 <div class="zs-modal-btns">
  14.                         <button class="btn btn-blink" data-num="2">2元</button>
  15.                         <button class="btn btn-blink" data-num="5">5元</button>
  16.                         <button class="btn btn-blink" data-num="10">10元</button>
  17.                         <button class="btn btn-blink" data-num="50">50元</button>
  18.                         <button class="btn btn-blink" data-num="100">100元</button>
  19.                         <button class="btn btn-blink" data-num="1">任意金额</button>
  20.                 </div>
  21.                 <div class="zs-modal-pay">
  22.                         <button class="btn btn-bred" id="pay-text">2元</button>
  23.                         <p>使用<span id="pay-type">微信</span>扫描二维码完成支付</p>
  24.                         <img src="images/alipay-2.png" id="pay-image"/>
  25.                 </div>
  26.         </div>
  27.         <div class="zs-modal-footer">
  28.                 <label><input type="radio" name="zs-type" value="alipay" class="zs-type" checked="checked"><span class="zs-alipay"><img src="images/alipay-btn.png"/></span></label>
  29.                 <label><input type="radio" name="zs-type" value="wechat" class="zs-type"><span class="zs-wechat"><img src="images/wechat-btn.png"/></span></label>
  30.         </div>
  31. </div>
复制代码
2、js代码
  1. function ZanShang(){
  2.   this.popbg = $('.zs-modal-bg');
  3.   this.popcon = $('.zs-modal-box');
  4.   this.closeBtn = $('.zs-modal-box .close');
  5.   this.zsbtn = $('.zs-modal-btns .btn');
  6.   this.zsPay = $('.zs-modal-pay');
  7.   this.zsBtns = $('.zs-modal-btns');
  8.   this.zsFooter = $('.zs-modal-footer');
  9.   var that = this;
  10.   $('.show-zs').on('click',function(){
  11.     //点击赞赏按钮出现弹窗
  12.     that._show();
  13.     that._init();
  14.   })
  15. }
  16. ZanShang.prototype._hide = function(){
  17.   this.popbg.hide();
  18.   this.popcon.hide();
  19. }
  20. ZanShang.prototype._show = function(){
  21.   this.popbg.show();
  22.   this.popcon.show();
  23.   this.zsBtns.show();
  24.   this.zsFooter.show();
  25.   this.zsPay.hide();
  26. }
  27. ZanShang.prototype._init = function(){
  28.   var that = this;
  29.   this.closeBtn.on('click',function(){
  30.     that._hide();
  31.   })
  32.   this.popbg.on('click',function(){
  33.     that._hide();
  34.   })
  35.   this.zsbtn.each(function(el){
  36.     $(this).on('click',function(){
  37.       var num = $(this).attr('data-num'); //按钮的对应的数字
  38.       var type = $('.zs-type:radio:checked').val();//付款方式
  39.       //根据不同付款方式和选择对应的按钮的数字来生成对应的二维码图片,你可以自定义这个图片的路径,默认放在当前images目录中
  40.       //假如你需要加一个远程路径,比如我的就是
  41.       //var src = 'http://caibaojian.com/wp-content/themes/blue/images/pay/'+type+'-'+num+'.png';
  42.       var src = 'images/'+type+'-'+num+'.png';
  43.       var text = $(this).html();
  44.       var payType=$('#pay-type'), payImage = $('#pay-image'),payText = $('#pay-text');
  45.       if(type=='alipay'){
  46.         payType.html('支付宝');
  47.       }else{
  48.         payType.html('微信');
  49.       }
  50.       payImage.attr('src',src);
  51.       payText.html(text);
  52.       that.zsPay.show();
  53.       that.zsBtns.hide();
  54.       that.zsFooter.hide();

  55.     })
  56.   })
  57. }
  58. var zs = new ZanShang();
复制代码
注意保存images下的图片文件。


如果您有业务需求,可以和我联系:
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

首页|Archiver|手机版|小黑屋|密通学院:专业网络营销服务商

GMT+8, 2024-12-27 01:07 , Processed in 0.105468 second(s), 27 queries QQ

Powered by XMT Inc. © 2015-2025 ArrayV1.0 豫ICP备17022382号

系统运营:密城通 豫公网安备 41018302000212 号

快速回复 返回顶部 返回列表