• 技术文章 >web前端 >js教程

    用JS实现简易打赏功能

    php中世界最好的语言php中世界最好的语言2018-04-18 14:02:46原创1492

    这次给大家带来用JS实现简易打赏功能,用JS实现简易打赏功能的注意事项有哪些,下面就是实战案例,一起来看一下。

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <htmlxmlns="http://www.w3.org/1999/xhtml">
     
    <head>
      <metahttp-equiv="Content-Type"content="text/html;"/>
      <title>打赏</title>
      <styletype="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() {
          vardsSidebar=document.getElementById('dsSidebar');
          dsSidebar.onmouseover=function() {
            startMove(0, 24);
          }
          dsSidebar.onmouseout=function() {
            startMove(-200, -24);
          }
          moveBtn();
        }
      </script>
    </head>
     
    <body>
      <pid="dsSidebar">
        <pclass="dsPanels">
          <pclass="dsPanel dsPanel-highlight">
            <pclass="dsPanel-title">喜欢请用微信打赏</p>
            <imgid='dsImg'src="http://files.cnblogs.com/files/eritpang/weixin.bmp"alt=""width="160"height="160"/>
          </p>
        </p>
        <spanclass="dsPanel-button"id='dsBtn'><b>打<br/>赏</b></span>
      </p>
    </body>
     
    </html>

    相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

    推荐阅读:

    JS的类型怎么转换

    js阻止刷新倒计时

    JS数组删除指定元素

    以上就是用JS实现简易打赏功能的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:javascript 功能 简易
    上一篇:JS的数据类型+引用类型深浅拷贝与内存分配问题 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• Angular开发问题记录:组件拿不到@Input输入属性• 聊聊基于Node实现单点登录(SSO)的方法• 带你了解Nodejs中的非阻塞异步IO• 浅析Node发起HTTP请求的6种方法• 深入了解Angular(新手入门指南)
    1/1

    PHP中文网