用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插件tooltipv顶部淡入淡出效果使用示例
Dec 05 Javascript
类似php的js数组的in_array函数自定义方法
Dec 27 Javascript
innerHTML属性,outerHTML属性,textContent属性,innerText属性区别详解
Mar 13 Javascript
jquery实现简单文字提示效果
Dec 02 Javascript
node.js require() 源码解读
Dec 13 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
May 10 Javascript
详解vuejs几种不同组件(页面)间传值的方式
Jun 01 Javascript
JS实现图片放大镜插件详解
Nov 06 Javascript
js实现json数组分组合并操作示例
Feb 12 Javascript
JS中的继承操作实例总结
Jun 06 Javascript
解决VUE mounted 钩子函数执行时 img 未加载导致页面布局的问题
Jul 27 Javascript
js实现碰撞检测
Jan 29 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
mysql alter table命令修改表结构实例详解
2016/09/24 PHP
JavaScript 指导方针
2007/04/05 Javascript
js 新浪的一个图片播放图片轮换效果代码
2008/07/15 Javascript
新鲜出炉的js tips提示效果
2011/04/03 Javascript
javascript 小数取整简单实现方式
2014/05/30 Javascript
谷歌Chrome浏览器扩展程序开发小记
2016/01/06 Javascript
Nodejs抓取html页面内容(推荐)
2016/08/11 NodeJs
关于js原型的面试题讲解
2016/09/25 Javascript
浅谈javascript中执行环境(作用域)与作用域链
2016/12/08 Javascript
windows下更新npm和node的方法
2017/11/30 Javascript
Vue组件中prop属性使用说明实例代码详解
2018/05/31 Javascript
mpvue+vuex搭建小程序详细教程(完整步骤)
2018/09/30 Javascript
vue-cli3.0 脚手架搭建项目的过程详解
2018/10/19 Javascript
vue+element搭建后台小总结 el-dropdown下拉功能
2020/04/10 Javascript
javascript实现滚动条效果
2020/03/24 Javascript
haskell实现多线程服务器实例代码
2013/11/26 Python
Python中使用Tkinter模块创建GUI程序实例
2015/01/14 Python
Python中的条件判断语句基础学习教程
2016/02/07 Python
Python3实现并发检验代理池地址的方法
2016/09/18 Python
python对象与json相互转换的方法
2019/05/07 Python
Python csv文件记录流程代码解析
2020/07/16 Python
Django如何实现防止XSS攻击
2020/10/13 Python
通过Django Admin+HttpRunner1.5.6实现简易接口测试平台
2020/11/11 Python
css3打造一款漂亮的卡哇伊按钮
2013/03/20 HTML / CSS
美国真皮手袋品牌:GiGi New York
2017/03/10 全球购物
阿里健康大药房:阿里自营网上药店
2017/08/01 全球购物
美体小铺波兰官方网站:The Body Shop波兰
2019/09/03 全球购物
上学迟到的检讨书
2014/01/11 职场文书
环保公益广告语
2014/03/13 职场文书
党支部公开承诺践诺书
2014/03/28 职场文书
师德模范事迹材料
2014/06/03 职场文书
餐厅感恩节活动策划方案
2014/10/11 职场文书
大学生见习报告范文
2014/11/03 职场文书
对外汉语教师推荐信
2015/03/27 职场文书
2015年暑期实践报告范文
2015/07/13 职场文书
在pycharm中无法import所安装的库解决方案
2021/05/31 Python