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判断IE版本的代码 超管用!
Aug 09 Javascript
JavaScript入门基础
Aug 12 Javascript
理解javascript中Map代替循环
Feb 26 Javascript
JS验证图片格式和大小并预览的简单实例
Oct 11 Javascript
jQuery实现动态添加tr到table的方法
Dec 26 Javascript
js实现固定宽高滑动轮播图效果
Jan 13 Javascript
JS 60秒后重新发送验证码的实例讲解
Jul 26 Javascript
浅谈angular4 ng-content 中隐藏的内容
Aug 18 Javascript
Webpack devServer中的 proxy 实现跨域的解决
Jun 15 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
Jul 09 jQuery
vue2.0结合Element-ui实战案例
Mar 06 Javascript
浅谈vue加载优化策略
Mar 19 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中ob(Output Buffer 输出缓冲)函数使用方法
2007/07/21 PHP
php图片的裁剪与缩放生成符合需求的缩略图
2013/01/11 PHP
php 生成唯一id的几种解决方法
2013/03/08 PHP
php源代码安装常见错误与解决办法分享
2013/05/28 PHP
php时间戳转换的示例
2014/03/31 PHP
在PHP站点的页面上添加Facebook评论插件的实例教程
2016/01/08 PHP
laravel实现前后台路由分离的方法
2019/10/13 PHP
jQuery 定时局部刷新(setInterval)
2010/11/19 Javascript
input输入框的自动匹配(原生代码)
2013/03/19 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
javascript操作referer详细解析
2014/03/10 Javascript
javascript中parseInt()函数的定义和用法分析
2014/12/20 Javascript
javascript单例模式的简单实现方法
2015/07/25 Javascript
jQuery添加删除DOM元素方法详解
2016/01/18 Javascript
常用的javascript设计模式
2017/01/11 Javascript
原生js实现倒计时--2018
2017/02/21 Javascript
简单实现JavaScript弹幕效果
2020/08/27 Javascript
Ionic3 UI组件之Gallery Modal详解
2017/06/07 Javascript
使用node.js对音视频文件加密的实例代码
2017/08/30 Javascript
vue数字类型过滤器的示例代码
2017/09/07 Javascript
在vue中使用setInterval的方法示例
2019/04/16 Javascript
解决layui数据表格Date日期格式的回显Object的问题
2019/09/19 Javascript
JavaScript设计模式之策略模式实现原理详解
2020/05/29 Javascript
python自动化测试之setUp与tearDown实例
2014/09/28 Python
Python实现豆瓣图片下载的方法
2015/05/25 Python
Python中动态创建类实例的方法
2017/03/24 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
2018/08/22 Python
Selenium的使用详解
2018/10/19 Python
使用python模拟命令行终端的示例
2019/08/13 Python
Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法
2019/08/23 Python
亚瑟士美国官网:ASICS美国
2017/02/01 全球购物
Made in Design意大利:现代家具、名家灯具和装饰
2020/10/27 全球购物
机关门卫制度
2014/02/01 职场文书
餐饮商业计划书范文
2014/04/29 职场文书
中学推普周活动总结
2015/05/07 职场文书
就业推荐表院系意见
2015/06/05 职场文书