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 相关文章推荐
js tab 选项卡
Apr 26 Javascript
js removeChild 障眼法 可能出现的错误
Oct 06 Javascript
提高javascript效率 一次判断,而不要次次判断
Mar 30 Javascript
浅谈jQuery中 wrap() wrapAll() 与 wrapInner()的差异
Nov 12 Javascript
jquery实现可横向和竖向展开的动态下滑菜单效果
Aug 24 Javascript
JavaScript自学笔记(必看篇)
Jun 23 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
Jun 12 Javascript
4个顶级开源JavaScript图表库
Sep 29 Javascript
vue使用Proxy实现双向绑定的方法示例
Mar 20 Javascript
vue项目前端知识点整理【收藏】
May 13 Javascript
javascript利用键盘控制小方块的移动
Apr 20 Javascript
JavaScript中arguments的使用方法详解
Dec 20 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
PHP的可变变量名的使用方法分享
2012/02/05 PHP
php中一个有意思的日期逻辑处理
2012/03/25 PHP
JQuery 引发两次$(document.ready)事件
2010/01/15 Javascript
选择TreeView控件的树状数据节点的JS方法(jquery)
2010/02/06 Javascript
模拟jQuery ajax服务器端与客户端通信的代码
2011/03/28 Javascript
js防止表单重复提交实现代码
2012/09/05 Javascript
Bootstrap模仿起筷首页效果
2016/05/09 Javascript
修改js confirm alert 提示框文字的简单实例
2016/06/10 Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
2017/03/24 jQuery
js基于FileSaver.js 浏览器导出Excel文件的示例
2017/08/15 Javascript
浅谈Vue.nextTick 的实现方法
2017/10/25 Javascript
vue 2.x 中axios 封装的get 和post方法
2018/02/28 Javascript
vue-cli3项目升级到vue-cli4 的方法总结
2020/03/19 Javascript
[02:36]DOTA2亚洲邀请赛小组赛精彩集锦:EE凭借法力虚空拿下4杀
2017/03/30 DOTA
Python中使用第三方库xlrd来写入Excel文件示例
2015/04/05 Python
在Python的Flask框架中使用模版的入门教程
2015/04/20 Python
Python类的定义、继承及类对象使用方法简明教程
2015/05/08 Python
Python中的浮点数原理与运算分析
2017/10/12 Python
Python如何爬取实时变化的WebSocket数据的方法
2019/03/09 Python
Python单元和文档测试实例详解
2019/04/11 Python
python threading和multiprocessing模块基本用法实例分析
2019/07/25 Python
python 实现list或string按指定分段
2019/12/25 Python
如何利用python检测图片是否包含二维码
2020/10/15 Python
python实现企业微信定时发送文本消息的实例代码
2020/11/25 Python
施华洛世奇美国官网:SWAROVSKI美国
2018/02/08 全球购物
新浪网技术部笔试题
2016/08/26 面试题
四好少年事迹材料
2014/01/12 职场文书
艺校音乐专业自我鉴定范文
2014/03/01 职场文书
祖国在我心中演讲稿400字
2014/05/04 职场文书
就业意向书
2014/07/29 职场文书
2016大学自主招生推荐信范文
2015/03/23 职场文书
vue中data改变后让视图同步更新的方法
2021/03/29 Vue.js
详解nodejs内置模块
2021/05/06 NodeJs
Go中的条件语句Switch示例详解
2021/08/23 Golang
剑指Offer之Java算法习题精讲二叉树的构造和遍历
2022/03/21 Java/Android
Nginx如何限制IP访问只允许特定域名访问
2022/07/23 Servers