• 第十六节 jQuery使用offset制作加入购物车动画


     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6     <script type="text/javascript" src="../jquery-1.12.4.min.js"></script>
     7     <script type="text/javascript">
     8         $(function(){
     9             var $btn = $('#btn');
    10             var $chart = $('.chart');
    11             var $countadd = $('.chart em');
    12             var $point = $('.point');
    13 
    14             var $w01 = $btn.outerWidth();
    15             var $h01 = $btn.outerHeight();
    16 
    17             var $w02 = $chart.outerWidth();
    18             var $h02 = $chart.outerHeight();
    19 
    20             $btn.click(function(){
    21                 var oPos01 = $btn.offset();
    22                 var oPos02 = $chart.offset();
    23 
    24                 $point.css({'left':oPos01.left+parseInt($w01/2)-5,'top':oPos01.top+parseInt($h01/2)-5});
    25                 $point.show();
    26                 $point.animate({'left':oPos02.left+parseInt($w02/2)-5,'top':oPos02.top+parseInt($h02/2)-5},2000,function(){
    27                     $point.hide();
    28                     var iNum = $countadd.html();  // 获取em元素内的内容
    29                     $countadd.html(parseInt(iNum)+1);  //  往em元素写入内容
    30                 });
    31 
    32 
    33             });
    34         });
    35     </script>
    36     <style type="text/css">
    37         .chart{
    38             height: 100px;
    39             width: 100px;
    40             background-color: gold;
    41             text-align: center;
    42             line-height: 100px;
    43             float: right;
    44         }
    45         .chart em{
    46             font-style: normal;
    47             color: red;
    48             font-weight: bold;
    49         }
    50         #btn{
    51             height: 30px;
    52             width: 200px;
    53             outline: none;
    54             float: left;
    55             margin: 300px auto 0;
    56 
    57         }
    58         .point{
    59             height: 10px;
    60             width: 10px;
    61             background-color: red;
    62             position: fixed;
    63             left: 0;
    64             top: 0;
    65             display: none;
    66             border-radius: 50%;
    67             z-index: 999;
    68         }
    69     </style>
    70 </head>
    71 <body>
    72     <div class="chart">购物车<em>0</em></div>
    73     <input type="button" name="" value="加入购物车" id="btn">
    74     <div class="point"></div>
    75 </body>
    76 </html>
  • 相关阅读:
    配置Gitlab pages和Gitlab CI
    程序员不应该错过的 6大导航
    Ice简介+Qt代码示例
    Android开发者的Anko使用指南(四)之Layouts
    三种方式绘制图片
    产品-(前后端)开发-测试的见解
    01_Docker概念简介、组件介绍、使用场景和命名空间
    Docker 创建 Confluence6.12.2 中文版
    读再多懂再多的鸡汤,不如每天敲码思考总结
    Postman Mock Server
  • 原文地址:https://www.cnblogs.com/kogmaw/p/12493754.html
Copyright © 2020-2023  润新知