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 相关文章推荐
从JavaScript的函数重名看其初始化方式
Mar 08 Javascript
JavaScript设计模式之观察者模式(发布者-订阅者模式)
Sep 24 Javascript
javascript实现简单的鼠标拖动效果实例
Apr 10 Javascript
javascript实现数组中的内容随机输出
Aug 11 Javascript
AngularJS入门教程之过滤器详解
Aug 19 Javascript
JavaScript对象创建模式实例汇总
Oct 03 Javascript
微信小程序之小豆瓣图书实例
Nov 30 Javascript
vue 页面加载进度条组件实例
Feb 05 Javascript
JavaScript实现短暂提示框功能
Apr 04 Javascript
layui table 参数设置方法
Aug 14 Javascript
js html实现计算器功能
Nov 13 Javascript
解决vuex刷新数据消失问题
Nov 12 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 替换模板变量实现步骤
2009/08/24 PHP
ajax完美实现两个网页 分页功能的实例代码
2013/04/16 PHP
asp javascript 实现关闭窗口时保存数据的办法
2007/11/24 Javascript
C#中TrimStart,TrimEnd,Trim在javascript上的实现
2011/01/17 Javascript
javascript学习笔记(十) js对象 继承
2012/06/19 Javascript
基于jQuery的动态增删改查表格信息,可左键/右键提示(原创自Zjmainstay)
2012/07/31 Javascript
jQuery contains过滤器实现精确匹配使用方法
2013/04/12 Javascript
js实现全屏漂浮广告移入光标停止移动
2013/12/02 Javascript
jQuery移除元素自动解绑事件实现思路及代码
2014/05/31 Javascript
Flash图片上传组件 swfupload使用指南
2015/03/14 Javascript
javascript作用域链(Scope Chain)用法实例解析
2015/11/30 Javascript
jquery form表单获取内容以及绑定数据
2016/02/24 Javascript
jquery编写Tab选项卡滚动导航切换特效
2020/07/17 Javascript
浅谈js和css内联外联注意事项
2016/06/30 Javascript
jquery html5 视频播放控制代码
2016/11/06 Javascript
玩转Koa之核心原理分析
2018/12/29 Javascript
详解Vue 换肤方案验证
2019/08/28 Javascript
[03:55]显微镜下的DOTA2特别篇——430灰烬之灵神级操作
2014/06/24 DOTA
[04:09]2014DOTA2国际邀请赛Ti西雅图 历届冠军相继出局 BBC综述今日比赛
2014/07/20 DOTA
Python中的choice()方法使用详解
2015/05/15 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
2016/05/17 Python
Python交互式图形编程的实现
2019/07/25 Python
利用OpenCV和Python实现查找图片差异
2019/12/19 Python
Python模块的制作方法实例分析
2019/12/21 Python
keras中的History对象用法
2020/06/19 Python
python 基于opencv操作摄像头
2020/12/24 Python
美团网旗下网上订餐平台:美团外卖
2020/03/05 全球购物
应届大专毕业生个人自荐信
2013/09/22 职场文书
自我介绍演讲稿
2014/01/15 职场文书
主题婚礼策划方案
2014/02/10 职场文书
专家推荐信模板
2014/05/09 职场文书
幼儿生日活动方案
2014/08/27 职场文书
小区环境卫生倡议书
2015/04/29 职场文书
中学生社会实践教育活动总结
2015/05/06 职场文书
食品卫生管理制度
2015/08/06 职场文书
Python字典的基础操作
2021/11/01 Python