用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 相关文章推荐
jquery与prototype框架的详细对比
Nov 21 Javascript
setTimeout()与setInterval()方法区别介绍
Dec 24 Javascript
JS替换字符串中字符即替换全部而不是第一个
Jun 04 Javascript
javascript自定义函数参数传递为字符串格式
Jul 29 Javascript
基于jQuery实现的文字按钮表单特效整理
Dec 07 Javascript
javascript中数组的定义及使用实例
Jan 21 Javascript
使用jquery提交form表单并自定义action的方法
May 25 Javascript
谈谈Vue.js——vue-resource全攻略
Jan 16 Javascript
详解angular2封装material2对话框组件
Mar 03 Javascript
js实现会跳动的日历效果(完整实例)
Oct 18 Javascript
详解使用webpack构建多页面应用
Dec 21 Javascript
基于openlayers实现角度测量功能
Sep 28 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
天津市收音机工业发展史
2021/03/04 无线电
php安装xdebug/php安装pear/phpunit详解步骤(图)
2013/12/22 PHP
php内存缓存实现方法
2015/01/24 PHP
php使用Jpgraph绘制3D饼状图的方法
2015/06/10 PHP
PHP类的封装与继承详解
2015/09/29 PHP
Symfony核心类概述
2016/03/17 PHP
PHP观察者模式示例【Laravel框架中有用到】
2018/06/15 PHP
js中符号转意问题示例探讨
2013/08/19 Javascript
jquery默认校验规则整理
2014/03/24 Javascript
js自动生成的元素与页面原有元素发生堆叠的解决方法
2014/09/04 Javascript
分享一款基于jQuery的视频播放插件
2014/10/09 Javascript
node.js下when.js 的异步编程实践
2014/12/03 Javascript
JavaScript中的object转换函数toString()与valueOf()介绍
2014/12/31 Javascript
js实现三张图(文)片一起切换的banner焦点图
2015/08/25 Javascript
DWR中各种java方法的调用
2016/05/04 Javascript
Bootstrap组件系列之福利篇几款好用的组件(推荐二)
2016/07/12 Javascript
微信小程序 navigation API实例详解
2016/10/02 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
2016/11/25 Javascript
JavaScript中的遍历详解(多种遍历)
2017/04/07 Javascript
react native与webview通信的示例代码
2017/09/25 Javascript
AngularJS实现与后台服务器进行交互的示例讲解
2018/08/13 Javascript
node使用Mongoose类库实现简单的增删改查
2018/11/08 Javascript
[01:01:52]完美世界DOTA2联赛PWL S2 GXR vs Magma 第二场 11.25
2020/11/26 DOTA
socket + select 完成伪并发操作的实例
2017/08/15 Python
Tensorflow实现卷积神经网络的详细代码
2018/05/24 Python
Linux下Python安装完成后使用pip命令的详细教程
2018/11/22 Python
使用keras实现孪生网络中的权值共享教程
2020/06/11 Python
HTML5新表单元素_动力节点Java学院整理
2017/07/12 HTML / CSS
联强国际笔试题面试题
2013/07/10 面试题
党员入党表决心的话
2014/03/11 职场文书
双创工作实施方案
2014/03/26 职场文书
2014教师专业技术工作总结
2014/12/03 职场文书
欢送会主持词
2015/07/01 职场文书
幼儿园开学家长寄语(2016春季)
2015/12/03 职场文书
CSS极坐标的实例代码
2021/06/03 HTML / CSS
CSS实现背景图片全屏铺满自适应的3种方式
2022/07/07 HTML / CSS