jQuery实现的超简单点赞效果实例分析


Posted in Javascript onDecember 31, 2015

本文实例讲述了jQuery实现的超简单点赞效果,分享给大家供大家参考,具体如下:

1.HTML(可以优化一下,尽量少些几个标签.....)

<div id="dianz">
  <b class="cz"><em>1</em><i></i><s></s><u>超赞</u></b>
  <b class="tj"><em>2</em><i></i><s></s><u>推荐</u></b>
  <b class="yb"><em>3</em><i></i><s></s><u>一般</u></b>
  <b class="wl"><em>6</em><i></i><s></s><u>无聊</u></b>
  <b class="lj"><em>5</em><i></i><s></s><u>雷??lt;/u></b>
</div>

2.css样式

#dianz{text-align:center; width:610px; overflow:hidden;zoom:1; margin:20px auto;}
#dianz b{ display:inline-block; width:120px; height:215px; float:left; position:relative;}
#dianz b em,#dianz b u,#dianz b i,#dianz b s{display:inline-block; width:100%; height:20px; position:absolute; left:0px;}
#dianz b u{ bottom:0px;}
#dianz b s{ bottom:20px; height:95px;}
#dianz b i{width:20px; height:80px;left:50px; bottom:115px;}
#dianz b.cz s{ background:url(../images/dianz.jpg) 25px 0px no-repeat}
#dianz b.cz i{ background-color:#fe0032;}
#dianz b.tj s{ background:url(../images/dianz.jpg) -105px 0px no-repeat}
#dianz b.tj i{ background-color:#fe9903;}
#dianz b.yb s{ background:url(../images/dianz.jpg) -235px 0px no-repeat}
#dianz b.yb i{ background-color:#99c900;}
#dianz b.wl s{ background:url(../images/dianz.jpg) -370px 0px no-repeat}
#dianz b.wl i{ background-color:#32ccff;}
#dianz b.lj s{ background:url(../images/dianz.jpg) -500px 0px no-repeat}
#dianz b.lj i{ background-color:#3167ff;}

3.js(对js运用的不是非常好,大家可以优化的更好一些)

function o_dianz(){
  var oi=$('#dianz b i'); //获取i;
    oem=$('#dianz b em'); //获取em;
    os=$('#dianz b s');//获取s;
    bl=null;
    osz=null;
    Arr=[];
    Arr2=[];
 function o_mm(){
  oem.each(function(){
      osz=$(this).text();
      Arr.push(osz);
      //console.log(Arr)
     });
  var get_max=Math.max.apply(null,Arr); //获取最大点赞数;
  bl=80/get_max;
  oem.each(function(){
      osz=$(this).text();
      var oi_H=Math.floor(osz*bl);
      Arr2.push(oi_H);
     });
  for(var i=0; i<Arr2.length; i++){
      oi.eq(i).height(Arr2[i]);
      oem.eq(i).css('top',80-Arr2[i]);
    };
   };
   o_mm();
  os.click(function(){ //点赞增加;
      Arr=[];
      Arr2=[];
      osz=$(this).siblings('em').text();
      osz++;
      $(this).siblings('em').text(osz);
      o_mm();
    });
  };
o_dianz();

好了,代码都贴上来了,超级简单的。我写的原理(不知道是不是有更好的,同时bug也没有检测):设置i标签的默认高度为80px,然后通过js求出每一个em的text数值,丢入数组Arr中,再通过这个方法Math.max.apply(null,Arr),求最大text的数值,进而求出比例尺(通过最大text求出比例尺可以保证高度不会大于80PX),最后通过每一个text的数值乘以比例尺Math.floor(osz*bl),求出每一个em对应的高度值。<br><br>后面的点击事件中每点击一次图标,相对应的重置一次Arr和Arr2,可以保证数值是实时更新的。。。 OK,到这里就完了,

jQuery实现的超简单点赞效果实例分析

最终结果:

jQuery实现的超简单点赞效果实例分析

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
用jQuery获取IE9下拉框默认值问题探讨
Jul 22 Javascript
javascript实现图片上传前台页面
Aug 18 Javascript
jquery实现横向图片轮播特效代码分享
Nov 19 Javascript
微信公众平台开发教程(六)获取个性二维码的实例
Dec 02 Javascript
如何正确理解javascript的模块化
Mar 02 Javascript
详解vue组件通信的三种方式
Jun 30 Javascript
jQuery插件DataTables分页开发心得体会
Aug 22 jQuery
Vue实现点击后文字变色切换方法
Feb 11 Javascript
spirngmvc js传递复杂json参数到controller的实例
Mar 29 Javascript
对vux点击事件的优化详解
Aug 28 Javascript
js瀑布流布局的实现
Jun 28 Javascript
从零开始用webpack构建一个vue3.0项目工程的实现
Sep 24 Javascript
jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)
Dec 31 #Javascript
jQuery实现的点赞随机数字显示动画效果(附在线演示与demo源码下载)
Dec 31 #Javascript
AngularJS中实现显示或隐藏动画效果的方式总结
Dec 31 #Javascript
javascript数据类型验证方法
Dec 31 #Javascript
jQuery操作基本控件方法实例分析
Dec 31 #Javascript
javascript图片延迟加载实现方法及思路
Dec 31 #Javascript
jQuery动画显示和隐藏效果实例演示(附demo源码下载)
Dec 31 #Javascript
You might like
亚洲咖啡有什么?亚洲咖啡产地介绍 亚洲咖啡有什么特点?
2021/03/05 新手入门
探讨如何在PHP开启gzip页面压缩实例
2013/06/09 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
JScript中的&quot;this&quot;关键字使用方式补充材料
2007/03/08 Javascript
jquery 插件 人性化的消息显示
2008/01/21 Javascript
JavaScript 开发中规范性的一点感想
2009/06/23 Javascript
Prototype 工具函数 学习
2009/07/23 Javascript
ext checkboxgroup 回填数据解决
2009/08/21 Javascript
将函数的实际参数转换成数组的方法
2010/01/25 Javascript
初识JQuery 实例一(first)
2011/03/16 Javascript
addEventListener 的用法示例介绍
2014/05/07 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
js实现网页收藏功能
2015/12/17 Javascript
浅析JavaScript 箭头函数 generator Date JSON
2016/05/23 Javascript
jQuery web 组件 后台日历价格、库存设置的代码
2016/10/14 Javascript
纯JS焦点图特效实例(可一个页面多用)
2016/12/07 Javascript
jQuery插件FusionCharts实现的2D饼状图效果【附demo源码下载】
2017/03/03 Javascript
客户端(vue框架)与服务器(koa框架)通信及服务器跨域配置详解
2017/08/26 Javascript
细说webpack源码之compile流程-入口函数run
2017/12/26 Javascript
JavaScript运行原理分析
2018/02/09 Javascript
axios全局请求参数设置,请求及返回拦截器的方法
2018/03/05 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
python发腾讯微博代码分享
2014/01/10 Python
详解Python迭代和迭代器
2016/03/28 Python
python 删除非空文件夹的实例
2018/04/26 Python
python3 中文乱码与默认编码格式设定方法
2018/10/31 Python
Django组件之cookie与session的使用方法
2019/01/10 Python
Python生成器的使用方法和示例代码
2019/03/04 Python
Python OrderedDict的使用案例解析
2019/10/25 Python
pytorch查看模型weight与grad方式
2020/06/24 Python
德国箱包网上商店:koffer24.de
2016/07/27 全球购物
Evisu官方网站:日本牛仔品牌,时尚街头设计风格
2016/12/30 全球购物
牛津在线药房:Oxford Online Pharmacy
2020/11/16 全球购物
Django分页器的用法你都了解吗
2021/05/26 Python
python神经网络ResNet50模型
2022/05/06 Python