jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)

下面我来详细讲解“jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)”的完整攻略。

一、前言

本文将介绍如何通过利用 jQuery 实现给图片点赞 +1 的动画效果,使图片在被点赞时,能够有一个很棒的动态效果。我们将使用 jQuery 的点击事件、动画效果等功能来实现该功能。

二、实现步骤

  • 第一步:编写 HTML 页面

我们首先需要准备一个 HTML 页面,页面中需要包含要进行点赞 +1 的图片以及需要展示点赞数量的 DOM 元素。HTML 代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>jQuery实现的给图片点赞+1动画效果</title>
  <script src="https://cdn.staticfile.org/jquery/3.5.1/jquery.min.js"></script>
  <style>
    .good-box{
      position: relative;
      display: inline-block;
      width: 200px;
      height: 200px;
      overflow: hidden;
    }

    .good-pic{
      width: 200px;
      height: 200px;
    }

    .good-nums{
      position: absolute;
      bottom: 0; right: 0;
      background-color: rgba(0,0,0,0.7);
      color: #fff;
      font-size: 14px;
      padding: 3px 5px;
    }

    .good-icon{
      position: absolute;
      top: -30px; left: 50%;
      width: 60px; height: 60px;
      margin-left: -30px;
      background-image: url('good.png');
      background-size: contain;
      opacity: 0;
    }
  </style>
</head>
<body>
  <div class="good-box">
    <img class="good-pic" src="image.jpg">
    <div class="good-nums">0</div>
    <div class="good-icon"></div>
  </div>
</body>
</html>

在上面的 HTML 代码中,我们使用了一些 CSS 样式来控制图片和 DOM 元素的样式。其中,.good-box 是图片容器,.good-pic 是图片元素,.good-nums 是用来展示点赞数量的 DOM 元素,.good-icon 用来展示点赞的动画效果。

  • 第二步:编写 jQuery 代码

在准备好 HTML 结构后,我们需要写一些 jQuery 代码来给图片提供点赞 +1 的功能,并实现点赞动画。代码如下:

$(function(){
  var goodBox = $('.good-box');
  var goodNum = goodBox.find('.good-nums');
  var goodIcon = goodBox.find('.good-icon');
  var goodNumVal = parseInt(goodNum.text());

  goodBox.on('click',function(e){
    goodNum.text(goodNumVal+=1);

    var clickX = e.clientX - goodBox.offset().left + 'px';
    var clickY = e.clientY - goodBox.offset().top + 'px';
    goodIcon.css({'top':clickY, 'left':clickX, 'opacity':1}).animate({'top':clickY-60},500,function(){
      this.style.opacity = 0;
    });
  });
});

在上面的代码中,我们使用了 jQuery 的 on 方法来监听点击事件,每次点击时给点赞数 +1,然后使用 animate 方法给 .good-icon 元素添加上浮向上飞的效果,并且在动画结束后将其透明度设置为 0。当我们整合上述代码后,我们就可以得到一个非常炫酷的“给图片点赞+1动画效果”了。

三、示例说明

下面,我举两个示例来说明 jQuery 实现的给图片点赞+1动画效果的使用:

示例一:给多张图片点赞

在这个示例里,我们将学会如何通过将代码应用到多张图片上来给多张图片提供“点赞+1”的功能:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>jQuery实现的给多张图片点赞+1动画效果</title>
  <script src="https://cdn.staticfile.org/jquery/3.5.1/jquery.min.js"></script>
  <style>
    .good-box{
      position: relative;
      display: inline-block;
      width: 200px;
      height: 200px;
      overflow: hidden;
    }

    .good-pic{
      width: 200px;
      height: 200px;
    }

    .good-nums{
      position: absolute;
      bottom: 0; right: 0;
      background-color: rgba(0,0,0,0.7);
      color: #fff;
      font-size: 14px;
      padding: 3px 5px;
    }

    .good-icon{
      position: absolute;
      top: -30px; left: 50%;
      width: 60px; height: 60px;
      margin-left: -30px;
      background-image: url('good.png');
      background-size: contain;
      opacity: 0;
    }
  </style>
</head>
<body>
  <div class="good-box">
    <img class="good-pic" src="image1.jpg">
    <div class="good-nums">0</div>
    <div class="good-icon"></div>
  </div>

  <div class="good-box">
    <img class="good-pic" src="image2.jpg">
    <div class="good-nums">0</div>
    <div class="good-icon"></div>
  </div>

  <div class="good-box">
    <img class="good-pic" src="image3.jpg">
    <div class="good-nums">0</div>
    <div class="good-icon"></div>
  </div>

  <script>
    $(function(){
      $('.good-box').each(function(){
        var goodBox = $(this);
        var goodNum = goodBox.find('.good-nums');
        var goodIcon = goodBox.find('.good-icon');
        var goodNumVal = parseInt(goodNum.text());

        goodBox.on('click',function(e){
          goodNum.text(goodNumVal+=1);

          var clickX = e.clientX - goodBox.offset().left + 'px';
          var clickY = e.clientY - goodBox.offset().top + 'px';
          goodIcon.css({'top':clickY, 'left':clickX, 'opacity':1}).animate({'top':clickY-60},500,function(){
            this.style.opacity = 0;
          });
        });
      })
    });
  </script>
</body>
</html>

在这个示例中,我们将 .good-box 容器设置了三个,每个容器中分别包含一张图片、一个用于展示点赞数量的 DOM 元素和一个用于展示动画效果的 DOM 元素。通过 $('.good-box').each() 循环遍历每个 .good-box 容器,从而实现了给多张图片点赞的功能。

示例二:美化点赞动画效果

在这个示例中,我们将添加一些额外的CSS样式来美化点赞的动画效果:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>jQuery实现的美化点赞动画效果</title>
  <script src="https://cdn.staticfile.org/jquery/3.5.1/jquery.min.js"></script>
  <style>
    .good-box{
      position: relative;
      display: inline-block;
      width: 200px;
      height: 200px;
      overflow: hidden;
    }

    .good-pic{
      width: 200px;
      height: 200px;
    }

    .good-nums{
      position: absolute;
      bottom: 0; right: 0;
      background-color: rgba(0,0,0,0.7);
      color: #fff;
      font-size: 14px;
      padding: 3px 5px;
    }

    .good-icon{
      position: absolute;
      top: -30px; left: 50%;
      width: 60px; height: 60px;
      margin-left: -30px;
      background-image: url('good.png');
      background-size: contain;
      opacity: 0;
      transition: all 0.5s ease;
      border-radius: 50%;
    }
  </style>
</head>
<body>
  <div class="good-box">
    <img class="good-pic" src="image.jpg">
    <div class="good-nums">0</div>
    <div class="good-icon"></div>
  </div>

  <script>
    $(function(){
      var goodBox = $('.good-box');
      var goodNum = goodBox.find('.good-nums');
      var goodIcon = goodBox.find('.good-icon');
      var goodNumVal = parseInt(goodNum.text());

      goodBox.on('click',function(e){
        goodNum.text(goodNumVal+=1);

        var clickX = e.clientX - goodBox.offset().left + 'px';
        var clickY = e.clientY - goodBox.offset().top + 'px';
        goodIcon.css({'top':clickY, 'left':clickX, 'opacity':1}).animate({'top':clickY-60},500,function(){
          this.style.opacity = 0;
        });
      });
    });
  </script>
</body>
</html>

在上述代码中,我们使用了额外的 CSS 样式来美化点赞动画效果。通过添加 transition 属性,我们使得点赞动画更加顺滑,同时也展示了动画中 DOM 元素的圆形动画效果。

四、结语

到这里,我们就通过 jQuery 实现的给图片点赞+1动画效果的完整攻略,实现了一个非常有趣的效果并且也展示了一些有用的应用方法。如果你有任何问题或建议,请随时在评论区中留言。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载) - Python技术站

(1)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • jQWidgets jqxDropDownButton模板属性

    jQWidgets 的 jqxDropDownButton 组件是一个下拉按钮控件。template 属性用于设置下拉列表的模板。本攻略中,我们将详细解释如何使用 template 属性,并提供两个示例说明。 步骤1:创建一个 jqxDropDownButton 首先,我们需要创建 jqxDropDownButton 组件。以下是一个示例: $(‘#jqxD…

    jquery 2023年5月10日
    00
  • jQWidgets jqxTabs closeButtonSize 属性

    下面我将为你详细讲解一下“jQWidgets jqxTabs closeButtonSize 属性”的完整攻略。 概述 closeButtonSize 是jqxTabs组件的一个属性,用于设置分页标签上关闭按钮的大小。该属性的默认值为 18。 语法 下面是closeButtonSize属性的语法: $("#jqxTabs").jqxTab…

    jquery 2023年5月12日
    00
  • jQuery 操作XML入门

    jQuery 操作XML入门 jQuery提供了丰富的方法,方便我们对XML文件进行 DOM 操作。同时,jQuery也支持Ajax技术,可以方便的读取和处理XML文件。下面详细讲解jQuery操作XML的完整攻略。 步骤一:加载XML文件 在jQuery中,我们可以使用$.ajax()方法来加载XML文件。$.ajax()方法支持多种文件格式,包括JSON…

    jquery 2023年5月27日
    00
  • jQuery 表单事件与遍历详情

    下面是针对“jQuery 表单事件与遍历”进行的详细讲解。 一、jQuery 表单事件 1.1 表单事件的意义 表单事件是指在表单中用户进行交互操作时产生的事件,比如点击按钮、提交表单、输入文本等等。对于网站开发者来说,掌握表单事件的使用方法是非常重要的,可以有效地控制表单的交互行为,提升用户体验。 1.2 常见的表单事件 下面介绍一些常见的表单事件及其意义…

    jquery 2023年5月28日
    00
  • jQWidgets jqxMenu 主题属性

    以下是关于 jQWidgets jqxMenu 组件中主题属性的详细攻略。 jQWidgets jqxMenu 主题属性 jQWidgets jqxMenu 组件的主题属性用于设置菜单的外观样式。该属性可以是一个字符串,表示要使用的主题名称。 语法 $(‘#menu’).jqxMenu({ theme: ‘classic’ }); // 设置菜单的主题为 c…

    jquery 2023年5月12日
    00
  • jQWidgets jqxBarGauge baseValue属性

    jQWidgets jqxBarGauge baseValue属性 jQWidgets是一个基于jQuery的UI组件库,提供了丰富的UI件和工具,包括表格、图表表单、历、菜单等。其中,jqBarGauge是jQWidgets中的一个组件,可以用于创建水平或垂直的条形图。jqxBarGauge提供了baseValue属性用于设置条形图的基准值。 baseVa…

    jquery 2023年5月9日
    00
  • jQWidgets jqxDropDownList dropDownVerticalAlignment属性

    jQWidgets jqxDropDownList dropDownVerticalAlignment属性详解 jQWidgets是一个基于jQuery的UI组件库,提供了丰富UI组件和工具包。jqxDropDownList是Widgets组件的组件。本文将详细介绍jqxDropDownList的dropDownVerticalAlignment属性,包括用…

    jquery 2023年5月10日
    00
  • jQWidgets jqxDateTimeInput模板属性

    以下是关于“jQWidgets jqxDateTimeInput模板属性”的完整攻略,包含两个示例说明: 属性简介 template 属性是 jQWidgets jqxDateTimeInput 控件的一个属性,用于设置日期时间输入框的模板。属性的语法如下: $("#jqxDateTimeInput").jqxDateTimeInput(…

    jquery 2023年5月10日
    00
合作推广
合作推广
分享本页
返回顶部