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 相关文章推荐
实现png图片和png背景透明(支持多浏览器)的方法
Sep 08 Javascript
js showModalDialog 弹出对话框的简单实例(子窗体)
Jan 07 Javascript
让checkbox不选中即将选中的checkbox不选中
Jul 11 Javascript
Egret引擎开发指南之编译项目
Sep 03 Javascript
jQuery中通过ajax调用webservice传递数组参数的问题实例详解
May 20 Javascript
浅谈JavaScript变量的自动转换和语句
Jun 12 Javascript
jquery根据td给相同tr下其他td赋值的实现方法
Oct 05 Javascript
canvas 实现中国象棋
Feb 17 Javascript
Vue实现路由跳转和嵌套
Jun 20 Javascript
超级简易的JS计算器实例讲解(实现加减乘除)
Aug 08 Javascript
浅谈vue中慎用style的scoped属性
Nov 28 Javascript
mongodb初始化并使用node.js实现mongodb操作封装方法
Apr 02 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 遍历XP文件夹下所有文件
2008/11/27 PHP
PHP常用处理静态操作类
2015/04/03 PHP
php组合排序简单实现方法
2016/10/15 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
2017/06/11 PHP
JQuery datepicker 使用方法
2011/05/20 Javascript
javascript 通用loading动画效果实例代码
2014/01/14 Javascript
jQuery操作CheckBox的方法介绍(选中,取消,取值)
2014/02/04 Javascript
js变量、作用域及内存详解
2014/09/23 Javascript
JavaScript判断是否为数组的3种方法及效率比较
2015/04/01 Javascript
JavaScript中的cacheStorage使用详解
2015/07/29 Javascript
js实现按钮颜色渐变动画效果
2015/08/20 Javascript
JS实现的最简Table选项卡效果
2015/10/14 Javascript
jquery+json实现数据二级联动的方法
2015/11/28 Javascript
基于JS代码实现实时显示系统时间
2016/06/16 Javascript
Vue中Quill富文本编辑器的使用教程
2018/09/21 Javascript
微信小程序 JS动态修改样式的实现方法
2018/12/16 Javascript
Vue+Element实现动态生成新表单并添加验证功能
2019/05/23 Javascript
Vue开发环境中修改端口号的实现方法
2019/08/15 Javascript
javascript canvas检测小球碰撞
2020/04/17 Javascript
vue 使用class创建和清除水印的示例代码
2020/12/25 Vue.js
python实现的生成随机迷宫算法核心代码分享(含游戏完整代码)
2014/07/11 Python
Python绘制三角函数图(sin\cos\tan)并标注特定范围的例子
2019/12/04 Python
Python实现加密的RAR文件解压的方法(密码已知)
2020/09/11 Python
ORACLE十问
2015/04/20 面试题
经销商会议欢迎词
2014/01/11 职场文书
广告语设计及教案
2014/03/21 职场文书
亲属关系公证书
2014/04/08 职场文书
工伤赔偿协议书
2014/04/15 职场文书
党干部专题民主生活会对照检查材料思想汇报
2014/10/06 职场文书
企业党的群众路线教育实践活动学习心得体会
2014/10/31 职场文书
早会开场白台词大全
2015/06/01 职场文书
毕业实习证明范本
2015/06/16 职场文书
Python内置数据类型中的集合详解
2022/03/18 Python
python内置模块之上下文管理contextlib
2022/06/14 Python
Java Spring读取和存储详细操作
2022/08/05 Java/Android
zabbix如何添加监控主机和自定义监控项
2022/08/14 Servers