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实现tab标签浏览效果
Feb 20 Javascript
零基础学JavaScript最新动画教程+iso光盘下载
Jan 22 Javascript
使用jQuery的ajax功能实现的RSS Reader 代码
Sep 03 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
Jan 06 Javascript
jquery获取一个元素下面相同子元素的个数代码
Jul 31 Javascript
Bootstrap4一次重大更新 几乎涉及每行代码
May 16 Javascript
JavaScript中style.left与offsetLeft的使用及区别详解
Jun 08 Javascript
全面了解JS中的匿名函数
Jun 29 Javascript
使用ReactJS实现tab页切换、菜单栏切换、手风琴切换和进度条效果
Oct 17 Javascript
layui 对table中的数据进行转义的实例
Sep 12 Javascript
简单了解微信小程序 e.target与e.currentTarget的不同
Sep 27 Javascript
jQuery 动态粒子效果示例代码
Jul 07 jQuery
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
Ajax+PHP快速上手及简单应用说明
2013/07/24 PHP
php使用正则验证中文
2016/04/06 PHP
php生成txt文件实例代码介绍
2016/04/28 PHP
了解jQuery技巧来提高你的代码
2010/01/08 Javascript
IE图片缓存document.execCommand(&quot;BackgroundImageCache&quot;,false,true)
2011/03/01 Javascript
JS通过分析userAgent属性来判断浏览器的类型及版本
2014/03/28 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
纯JavaScript实现的分页插件实例
2015/07/14 Javascript
js模仿php中strtotime()与date()函数实现方法
2015/08/11 Javascript
详解js私有作用域中创建特权方法
2016/01/25 Javascript
Javascript技术栈中的四种依赖注入详解
2016/02/23 Javascript
javascript html5 canvas实现可拖动省份的中国地图
2016/03/11 Javascript
全面解析Bootstrap中form、navbar的使用方法
2016/05/30 Javascript
jQuery+ajax实现滚动到页面底部自动加载图文列表效果(类似图片懒加载)
2016/06/07 Javascript
jQuery实现table中的tr上下移动并保持序号不变的实例代码
2016/07/11 Javascript
基于BootStrap栅格栏系统完成网站底部版权信息区
2016/12/23 Javascript
Angular中ng-options下拉数据默认值的设定方法
2017/06/21 Javascript
JS实现静态页面搜索并高亮显示功能完整示例
2017/09/19 Javascript
nginx配置React静态页面的方法教程
2017/11/03 Javascript
vue中如何动态绑定图片,vue中通过data返回图片路径的方法
2018/02/07 Javascript
微信小程序 动态修改页面数据及参数传递过程详解
2019/09/27 Javascript
[02:15]你好,这就是DOTA!
2015/08/05 DOTA
python根据距离和时长计算配速示例
2014/02/16 Python
教你学会使用Python正则表达式
2017/09/07 Python
Python多线程threading和multiprocessing模块实例解析
2018/01/29 Python
Python3自动签到 定时任务 判断节假日的实例
2018/11/13 Python
用Q-learning算法实现自动走迷宫机器人的方法示例
2019/06/03 Python
python多线程http压力测试脚本
2019/06/25 Python
正则给header的冒号两边参数添加单引号(Python请求用)
2019/08/09 Python
Python常用模块logging——日志输出功能(示例代码)
2019/11/20 Python
TensorFlow tf.nn.conv2d_transpose是怎样实现反卷积的
2020/04/20 Python
把Anaconda中的环境导入到Pycharm里面的方法步骤
2020/10/30 Python
JPA面试常见问题
2016/11/14 面试题
如何打造一封优秀的留学推荐信
2014/01/25 职场文书
学生保证书
2015/01/16 职场文书
导游词之扬州大明寺
2019/10/09 职场文书