用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 相关文章推荐
正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
Sep 27 Javascript
js 实现打印网页中定义的部分内容的代码
Apr 01 Javascript
jquery新的绑定事件机制on方法的使用方法
Apr 15 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
Dec 31 Javascript
jquery获取多个checkbox的值异步提交给php
Jul 07 Javascript
JavaScript知识点总结(六)之JavaScript判断变量数据类型
May 31 Javascript
微信小程序 require机制详解及实例代码
Dec 14 Javascript
微信小程序 本地数据读取实例
Apr 27 Javascript
详解webpack解惑:require的五种用法
Jun 09 Javascript
利用canvas实现的加载动画效果实例代码
Jul 05 Javascript
Vue vm.$attrs使用场景详解
Mar 08 Javascript
Javascript柯里化实现原理及作用解析
Oct 22 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对关联数组循环遍历的实现方法
2015/03/13 PHP
PHP实现的二分查找算法实例分析
2017/12/19 PHP
一个多次搜索+多次传值的解决方案
2007/01/20 Javascript
JavaScript 继承详解(一)
2009/07/13 Javascript
javascript与CSS复习(《精通javascript》)
2010/06/29 Javascript
js实现右下角提示框的方法
2015/02/03 Javascript
使用JS中的exec()方法构造正则表达式验证
2016/08/01 Javascript
vue从使用到源码实现教程详解
2016/09/19 Javascript
headjs实现网站并行加载但顺序执行JS
2016/11/29 Javascript
JavaScript函数参数的传递方式详解
2017/03/06 Javascript
帝国cms首页列表页实现点赞功能
2017/10/30 Javascript
vue项目常用组件和框架结构介绍
2017/12/24 Javascript
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
JS逻辑运算符短路操作实例分析
2018/07/09 Javascript
JS二级菜单不同实现方法分析【4种方法】
2018/12/21 Javascript
微信小程序picker组件两列关联使用方式
2020/10/27 Javascript
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
2018/02/05 Python
python 美化输出信息的实例
2018/10/15 Python
Python用61行代码实现图片像素化的示例代码
2018/12/10 Python
零基础使用Python读写处理Excel表格的方法
2019/05/02 Python
Python-接口开发入门解析
2019/08/01 Python
什么是数据库锁?Oracle中都有哪些类型的锁?
2015/08/21 面试题
搬家公司的创业计划书
2014/01/01 职场文书
运动会方阵解说词
2014/02/12 职场文书
浪漫婚礼主持词
2014/03/14 职场文书
中华魂演讲稿
2014/05/13 职场文书
国际贸易专业求职信
2014/06/04 职场文书
十佳青年事迹材料
2014/08/21 职场文书
户籍证明书标准模板
2014/09/10 职场文书
公司员工管理制度
2015/08/04 职场文书
公务员学习中国梦心得体会
2016/01/05 职场文书
PHP新手指南
2021/04/01 PHP
CSS3 制作的悬停缩放特效
2021/04/13 HTML / CSS
python 提取html文本的方法
2021/05/20 Python
为什么RedisCluster设计成16384个槽
2021/09/25 Redis
Win10服务全部禁用了怎么启动?Win10服务全部禁用解决方法
2022/09/23 数码科技