用js实现博客打赏功能


Posted in Javascript onOctober 24, 2016

前几天在一个博客中看到有一个打赏功能。其实简单说来就是在页面中加入动态DOM节点,使用的也是简单的HTML、CSS、JS这些前端的一些简单知识。在GitHub上有开源的代码,这里稍加改造就可以用在自己的博客中了。

最简单的使用方式是在页面中加入如下JS代码:

<script>
window.tctipConfig = {
    staticPrefix:  "http://static.tctip.com",
    buttonImageId: 1,
    buttonTip: "zanzhu",
    list:{
      alipay: {qrimg: "http://tctip.com/img/alipayqr.png"},
      weixin:{qrimg: "http://littlebtc.com/images/yeshen.png"},
    }
};
</script>
<script src="http://static.tctip.com/js/tctip.min.js"></script>

其中比较重要的是配置有staticPrefix,是原作者自己提供的静态文件相对路径,用来存放img和css;list是打赏方式,qrimg是设置打赏方式的二维码图片。

接下来是在博客园中使用。先在本地准备好静态文件:

JS文件,tctip.min.js;

css样式文件,myReward.css;

支付二维码,ialipay.bmp、iweixin.bmp;

支付方式图片,alipay.bmp、weixin.bmp;

赞助或者打赏按钮图片,tab_4.bmp(对应buttonImageId)。

博客园只能上传bmp图片,所以要将其他格式图片修改,然后在自己的博客园后台上传文件,这样前面的静态文件就可以使用刚刚上传了。

如果使用自己上传的静态文件,配置时就不要staticPrefix地址,提供imagePrefix和cssPrefix:

<script>
  window.tctipConfig = {
    imagePrefix: "图片文件的相对路径",
    cssPrefix:   "样式文件的相对路径",
    //staticPrefix: "http://static.tctip.com",
    buttonImageId: 4,
    buttonTip:  "dashang",
    list:{
      alipay: { qrimg: "支付宝二维码绝对路径"},
      weixin: { qrimg: "微信二维码绝对路径"},
    }};
</script>
<script src="js文件绝对路径"></script>

当然如果只是这样就完了,还是没有看作者的源JS代码,事实是不修改一下源码也无法使用的,其实主要是文件路径设置的问题。

打开JS源码,不是压缩的源码哦,除非你看的不眼花,也没人拦你的。

myConfig : {
    imagePrefix  : "",
    cssPrefix    : "",
    /***
     * 当staticPrefix不为空的时候,imagePrefix和cssPrefix失效
     */
    staticPrefix  : "",
    buttonImageId  : "3",
    buttonTip    : "dashang",
    cssUrl:  "/myRewards.css"
  },

原来的cssUrl是/css/myRewards.css,因为博客园上传的文件没有文件夹,所以去掉css。可能大家想到了,img也有一样的问题。

listConfig:{
        'alipay'  :   {icon: "alipay.bmp", name:"支付宝", desc: "支付宝打赏", className: ""},
        'tenpay'  :   {icon: "img/tenpay.png", name:"财付通", desc: "财付通打赏", className:""},
        'weixin'  :   {icon: "weixin.bmp", name:"微信", desc: "微信打赏", className:""},
        'bitcoin'  :  {icon: "img/bitcoin.png", name:"比特币", desc: "比特币打赏", className:""},
        'litecoin'  :  {icon: "img/litecoin.png", name:"莱特币", desc: "莱特币打赏",className:""},
        'dogecoin'  :  {icon: "img/dogecoin.png", name:"狗狗币", desc: "狗狗币打赏", className:""}
      },

支付方式列表中,修改图片相对路径,由于只使用了支付宝、微信两种方式,所以只修改他们的路径。其实还可以添加其他的支付方式在这里,就不赘述了。

buttonImageUrl: function(){
            var id = tctip.myConfig.buttonImageId;
            var tip = tctip.myConfig.buttonTip;
            //return tctip.imageUrl("" + tip + "/tab_" + id + ".bmp");
            return tctip.imageUrl("/tab_4.bmp");
        },

支付按钮的图片路径,同样修改返回的相对路径。

这样在博客园后台的设置页面,在页首Html处添加上面的配置文件就可以了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript Distilled 基础知识与函数
Apr 07 Javascript
原生javascript获取元素样式属性值的方法
Dec 25 Javascript
jQuery获取checkbox选中的值
Jan 28 Javascript
JavaScript 数组中最大最小值
Jun 05 Javascript
jQuery soColorPacker 网页拾色器
Jun 22 Javascript
JS匿名函数实例分析
Nov 26 Javascript
JS多物体实现缓冲运动效果示例
Dec 20 Javascript
axios基本入门用法教程
Mar 25 Javascript
微信JS-SDK选取手机照片上传功能
Apr 21 Javascript
Node.js 回调函数实例详解
Jul 06 Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
Mar 26 Javascript
JS前端canvas交互实现拖拽旋转及缩放示例
Aug 05 Javascript
jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解
Oct 24 #Javascript
jQuery插件实现可输入和自动匹配的下拉框
Oct 24 #Javascript
JS中split()用法(将字符串按指定符号分割成数组)
Oct 24 #Javascript
在js中实现邮箱格式的验证方法(推荐)
Oct 24 #Javascript
js实现上传文件添加和删除文件选择框
Oct 24 #Javascript
JS取数字小数点后两位或n位的简单方法
Oct 24 #Javascript
第一次接触Bootstrap框架
Oct 24 #Javascript
You might like
PHP文件缓存内容保存格式实例分析
2014/08/20 PHP
PHP实现简单实用的验证码类
2015/07/29 PHP
PHP实现HTML页面静态化的方法
2015/11/04 PHP
Windows2003下php5.4安装配置教程(IIS)
2016/06/30 PHP
php 获取文件行数的方法总结
2016/10/11 PHP
JS函数验证总结(方便js客户端输入验证)
2010/10/29 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
2013/04/11 Javascript
在JavaScript中构建ArrayList示例代码
2014/09/17 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
2014/10/10 Javascript
js数组的操作指南
2014/12/28 Javascript
jquery实现标题字体变换的滑动门菜单效果
2015/09/07 Javascript
jQuery实现图片预加载效果
2015/11/27 Javascript
Angularjs手动解析表达式($parse)
2016/10/12 Javascript
jQuery实现的分页功能示例
2017/01/22 Javascript
详解nodejs中express搭建权限管理系统
2017/09/15 NodeJs
前端MVVM框架解析之双向绑定
2018/01/24 Javascript
微信小程序如何获取用户信息
2018/01/26 Javascript
Vue中父子组件通讯之todolist组件功能开发
2018/05/21 Javascript
纯javascript前端实现base64图片下载(兼容IE10+)
2018/09/14 Javascript
详解Vue 的异常处理机制
2020/11/30 Vue.js
使用BeautifulSoup爬虫程序获取百度搜索结果的标题和url示例
2014/01/19 Python
python实现TCP服务器端与客户端的方法详解
2015/04/30 Python
Python通过DOM和SAX方式解析XML的应用实例分享
2015/11/16 Python
Django 多语言教程的实现(i18n)
2018/07/07 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
2019/05/13 Python
itchat-python搭建微信机器人(附示例)
2019/06/11 Python
python模式 工厂模式原理及实例详解
2020/02/11 Python
HTML5拖拽的简单实例
2016/05/30 HTML / CSS
语文教育专业应届生求职信
2013/11/23 职场文书
公司年会演讲稿范文
2014/01/11 职场文书
咖啡厅创业计划书范本
2014/01/22 职场文书
全国道德模范事迹
2014/02/01 职场文书
幼儿园安全生产月活动总结
2014/07/05 职场文书
信息与工商管理职业规划范文:为梦想而搏击
2014/09/11 职场文书
出生证明范本
2015/06/15 职场文书
Java9新特性对HTTP2协议支持与非阻塞HTTP API
2022/03/16 Java/Android