用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 和 CSS 实现脚注(Footnote)效果
Sep 09 Javascript
Jquery加载时从后台读取数据绑定到dropdownList实例
Jun 09 Javascript
javascript单页面手势滑屏切换原理详解
Mar 21 Javascript
用js控件div的滚动条,让它在内容更新时自动滚到底部的实现方法
Oct 27 Javascript
浅谈JavaScript中的apply/call/bind和this的使用
Feb 26 Javascript
JS中SetTimeout和SetInterval使用初探
Mar 23 Javascript
npm国内镜像 安装失败的几种解决方案
Jun 04 Javascript
Windows下Node.js安装及环境配置方法
Sep 18 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
Jun 09 jQuery
一秒学会微信小程序制作table表格
Feb 14 Javascript
详解Vue中的scoped及穿透方法
Apr 18 Javascript
VUE+Element实现增删改查的示例源码
Nov 23 Vue.js
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
PHPer 需要了解的 5 个 Composer 小技巧
2014/08/18 PHP
解决出现SoapFault (looks like we got no XML document)的问题
2017/06/24 PHP
php5与php7的区别点总结
2019/10/11 PHP
htm调用JS代码
2007/03/15 Javascript
jquery将一个表单序列化为一个对象的方法
2013/12/02 Javascript
jquery的父子兄弟节点查找示例代码
2014/03/03 Javascript
JavaScript DOM操作表格及样式
2015/04/13 Javascript
javascript实现动态表头及表列的展现方法
2015/07/14 Javascript
jQuery通过deferred对象管理ajax异步
2016/05/20 Javascript
jqueryMobile 动态添加元素,展示刷新视图的实现方法
2016/05/28 Javascript
jQuery Easyui快速入门教程
2016/08/21 Javascript
详解百度百科目录导航树小插件
2017/01/08 Javascript
基于Bootstrap漂亮简洁的CSS3价格表(附源码下载)
2017/02/28 Javascript
easyui简介_动力节点Java学院整理
2017/07/14 Javascript
jQuery超简单遮罩层实现方法示例
2018/09/06 jQuery
小程序怎样让wx.navigateBack更好用的方法实现
2019/11/01 Javascript
JavaScript Html实现移动端红包雨功能页面
2021/01/10 Javascript
Python中的lstrip()方法使用简介
2015/05/19 Python
Python设计实现的计算器功能完整实例
2017/08/18 Python
pip install urllib2不能安装的解决方法
2018/06/12 Python
pandas 快速处理 date_time 日期格式方法
2018/11/12 Python
Python从单元素字典中获取key和value的实例
2018/12/31 Python
python多线程同步实例教程
2019/08/11 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
PyTorch和Keras计算模型参数的例子
2020/01/02 Python
Python SSL证书验证问题解决方案
2020/01/13 Python
Python实现哲学家就餐问题实例代码
2020/11/09 Python
CSS3.0实现霓虹灯按钮动画特效的示例代码
2021/01/12 HTML / CSS
意大利火车票和铁路通行证专家:ItaliaRail
2019/01/22 全球购物
2014信息技术专业毕业生自我评价
2014/01/17 职场文书
销售员个人求职的自我评价
2014/02/10 职场文书
资助贫困学生倡议书
2014/05/16 职场文书
公司授权委托书范本
2014/09/18 职场文书
海南召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
制定企业培训计划的五大要点!
2019/07/10 职场文书
【海涛DOTA】D-cup邀请赛NV.cn vs DT.Love
2022/04/01 DOTA