自制简易打赏功能的实例

1、申请开通cnblogs的JS代码支持

2、将微信收款码图片上传到cnblogs

3、将如下代码中的http://files.cnblogs.com/files/eritpang/weixin.bmp替换为刚刚上传的收款码图片的链接地址,然后将代码添加到设置->博客侧边栏公告(支持HTML代码)(支持JS代码)里面,再点击“保存”即可。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
  <meta http-equiv="Content-Type" content="text/html;" />
  <title>打赏</title>
  <style type="text/css">
    #dsSidebar {
      z-index: 999999;
      top: 18%;
      width: 200px;
      height: 200px;
      position: fixed;
      right: -200px;
    }

    #dsBtn {
      z-index: 999999;
      width: 30px;
      height: 58px;
      left: -30px;
      top: 80px;
      line-height: 28px;
      position: absolute;
    }

    .dsPanels {
      margin: 0px auto;
      overflow: hidden;
    }

    .dsPanel {
      float: left;
      margin: 0px 0px;
      padding: 12px 0px;
      text-align: center;
      background: #ffeedd;
      border-color: #ffeedd;
      border-radius: 8px;
    }

    .dsPanel-highlight {
      margin-top: 0;
      margin-bottom: 0;
      padding-left: 10px;
      padding-right: 10px;
      width: 160px;
      border: 8px solid #fd935c;
    }

    .dsPanel-button {
      display: block;
      font-size: 16px;
      font-weight: 500;
      color: #ffeedd;
      text-align: center;
      text-decoration: none;
      text-shadow: 0 1px rgba(black, .1);
      background: #fd935c;
      border-bottom: 2px solid #cf7e3b;
      border-color: rgba(black, .15);
      border-radius: 4px;
    }

    .dsPanel-title {
      width: 128px;
      margin: -15px auto 15px;
      padding-bottom: 0px;
      line-height: 22px;
      font-size: 14px;
      font-weight: bold;
      color: #ffeedd;
      text-shadow: 0 1px rgba(black, .05);
      background: #fd935c;
      border-radius: 0 0 4px 4px;
    }
  </style>
  <script>
    function moveBtn() {
      var dsBtn = document.getElementById("dsBtn");
      var now = new Date();
      var times = now.getTime();
      var offsetSize = Math.sin(times / 380.0) * 15 + 45;
      var radius = Math.sin(times / 380.0) * 18 + 24;
      dsBtn.style.left = -offsetSize + 'px';
      dsBtn.style.width = offsetSize + 'px';
      dsBtn.style.borderRadius = radius + 'px';
      setTimeout(moveBtn, 60);
    }

    var dsSidebarTimer = null;
    var dsSidebarOffsetRight = -200;
    function startMove(dsSidebarTarget, dsSidebarSpeed) {
      clearTimeout(dsSidebarTimer);
      function doMove() {
        var dsSidebar = document.getElementById('dsSidebar');
        dsSidebarSpeed *= 0.9;
        if (dsSidebarSpeed > -1 && dsSidebarSpeed < 0) {
          dsSidebarSpeed = -1;
        } else if (dsSidebarSpeed < 1 && dsSidebarSpeed > 0) {
          dsSidebarSpeed = 1;
        }
        dsSidebarOffsetRight = dsSidebarOffsetRight + dsSidebarSpeed;
        if (dsSidebarSpeed > 0 && dsSidebarOffsetRight >= dsSidebarTarget) {
          dsSidebarOffsetRight = dsSidebarTarget;
          dsSidebar.style.right = dsSidebarOffsetRight + 'px';
        } else if (dsSidebarSpeed < 0 && dsSidebarOffsetRight <= dsSidebarTarget) {
          dsSidebarOffsetRight = dsSidebarTarget;
          dsSidebar.style.right = dsSidebarOffsetRight + 'px';
        } else {
          dsSidebar.style.right = dsSidebarOffsetRight + 'px';
          dsSidebarTimer = setTimeout(doMove, 30);
        }
      }
      doMove();
    }
    document.getElementById('dsImg').onload = function () {
      var dsSidebar = document.getElementById('dsSidebar');
      dsSidebar.onmouseover = function () {
        startMove(0, 24);
      }
      dsSidebar.onmouseout = function () {
        startMove(-200, -24);
      }
      moveBtn();
    }
  </script>
</head>

<body>
  <div id="dsSidebar">
    <div class="dsPanels">
      <div class="dsPanel dsPanel-highlight">
        <p class="dsPanel-title">喜欢请用微信打赏</p>
        <img id='dsImg' src="http://files.cnblogs.com/files/eritpang/weixin.bmp" alt="" width="160" height="160" />
      </div>
    </div>
    <span class="dsPanel-button" id='dsBtn'><b>打<br/>赏</b></span>
  </div>
</body>

</html>

4、效果如下。

以上这篇自制简易打赏功能的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 自制简易打赏功能的实例

    1.申请开通cnblogs的JS代码支持 2.将微信收款码图片上传到cnblogs 3.将如下代码中的http://files.cnblogs.com/files/eritpang/weixin.bmp替换为刚刚上传的收款码图片的链接地址,然后将代码添加到设置->博客侧边栏公告(支持HTML代码)(支持JS代码)里面,再点击"保存"即可. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&q

  • Vuejs 实现简易 todoList 功能 与 组件实例代码

    todoList 结合之前 Vuejs 基础与语法 •使用 v-model 双向绑定 input 输入内容与数据 data •使用 @click 和 methods 关联事件 •使用 v-for 进行数据循环展示 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>TodoList</title> <s

  • Python PyQt5实现的简易计算器功能示例

    本文实例讲述了Python PyQt5实现的简易计算器功能.分享给大家供大家参考,具体如下: 这里剩下计算函数(self.calculator)未实现,有兴趣的朋友可以实现它 [知识点] 1.利用循环添加按钮部件,及给每个按钮设置信号/槽 2.给按钮设置固定大小:button.setFixedSize(QtCore.QSize(60,30)) 3.取事件的的发送者(此例为各个按钮)的文本: self.sender().text() [效果图] [源代码] import sys from PyQt

  • Android实现简易计步器功能隔天步数清零查看历史运动纪录

    最近需要用到计步功能,这可难坏我了,iOS端倒好,有自带的计步功能,让我惊讶的是连已爬楼层都给做好了,只需要调接口便可获得数据,我有一句MMP,我很想讲. 但是抱怨归抱怨,功能还是得事先的去实现,微信运动,乐动力,都还不错,尤其是乐动力的计步功能真的非常的强大,在UI域用户与用户交互也做得非常棒,党来内需当连续运动十步后开始计步.本想着去找他们实现的算法然后拿来用,但很明显这是不可能的.后来我搜了很多资料发现,在Android4.4 Kitkat 新增的STEP DETECTOR 以及 STEP

  • 基于 Immutable.js 实现撤销重做功能的实例代码

    浏览器的功能越来越强大,许多原来由其他客户端提供的功能渐渐转移到了前端,前端应用也越来越复杂.许多前端应用,尤其是一些在线编辑软件,运行时需要不断处理用户的交互,提供了撤消重做功能来保证交互的流畅性.不过为一个应用实现撤销重做功能并不是一件容易的事情. Redux官方文档中 介绍了如何在 redux 应用中实现撤销重做功能.基于 redux 的撤销功能是一个自顶向下的方案:引入 redux-undo 之后所有的操作都变为了「可撤销的」,然后我们不断修改其配置使得撤销功能变得越来越好用(这也是 r

  • Python正则表达式实现简易计算器功能示例

    本文实例讲述了Python正则表达式实现简易计算器功能.分享给大家供大家参考,具体如下: 需求:使用正则表达式完成一个简易计算器. 功能:能够计算简单的表达式. 如:1*2*((1+2)/(2+3)+1)*5.1-3+2**2 import re class SimpleCalc(object): # 表达式检测 def check(self,exp): # 合法字符检测 res = re.findall(r"[^\d\+\-\*/\(\)\.]", exp) print(res) i

  • Java实现简易HashMap功能详解

    本文实例讲述了Java实现简易HashMap功能.分享给大家供大家参考,具体如下: 创建节点类 节点类含有的属性:键值对(value,key)以及指向下一节点的next: 这些属性的get以及set方法 代码如下: /** * 节点类 * @author HP * */ public class Node { private Object value; private Object key; private Node next; /** * 空节点 */ public Node() { } /*

  • js实现简易ATM功能

    本文实例为大家分享了js实现简易ATM功能的具体代码,供大家参考,具体内容如下 案例描述 程序根据输入的序号执行相应的业务处理逻辑 : 1.存款 2.取款 3.查看余额 4.取卡 如果不输入或者错误输入则弹窗提示:你的输入的业务序号有误,请重新输入! 里面现存金额 123 元. 如果存款,就用输入的存款金额加现存的金额, 之后弹出现有余额的提示框 如果取款,就减去取的钱数,之后弹出现有余额的提示框, 如果取款的金额大于剩余金额,则提示余额不足,如果小于等于则可进行取款操作 如果存取款的金额输入款

  • Android实现简易计算功能

    本文实例为大家分享了Android实现简易计算功能的具体代码,供大家参考,具体内容如下 效果如图: activity_main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_par

  • C#实现简易计算器功能(附源码)

    本文实例为大家分享了C#实现简易计算器功能的具体代码,供大家参考,具体内容如下 剖析: 1.先设计界面(按钮.文本框(一个显示算式,一个显示结果))布局 2.单击按钮将其对应内容显示在文本框中 3.单击符号(+.-.×.÷.%)时将第一次输入的数储存起来 4.单击等号时将第二次输入的数存储起来并将第一次输入的数与第二次输入的数按照所单击的符号进行运算将结果显示在第一个文本框中 5.单击C时将两个文本框中的内容清空 重点: 1.声明一个bool类型的变量用于实现单击符号再次输入数字时第一次输入的数

随机推荐