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学习7 操作JavaScript对象和集合的函数
Feb 07 Javascript
JS动态添加与删除select中的Option对象(示例代码)
Dec 25 Javascript
解析如何利用iframe标签以及js制作时钟
Dec 08 Javascript
bootstrap多种样式进度条展示
Dec 20 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
Feb 14 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
Aug 16 Javascript
node中koa中间件机制详解
Aug 22 Javascript
vue中设置height:100%无效的问题及解决方法
Jul 27 Javascript
Jquery和CSS实现选择框重置按钮功能
Nov 08 jQuery
npm 常用命令详解(小结)
Jan 17 Javascript
JavaScript判断对象和数组的两种方法
May 31 Javascript
vue使用过滤器格式化日期
Jan 20 Vue.js
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
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
2013/06/29 PHP
php生成高清缩略图实例详解
2015/12/07 PHP
php实现跨域提交form表单的方法【2种方法】
2016/10/17 PHP
php 截取utf-8格式的字符串实例代码
2016/10/30 PHP
PHP的微信支付接口使用方法讲解
2019/03/08 PHP
Javascript实例教程(19) 使用HoTMetal(2)
2006/12/23 Javascript
遍历jquery对象的代码分享
2011/11/02 Javascript
文本框文本自动补全效果示例分享
2014/01/19 Javascript
JavaScript函数定义的常见注意事项小结
2014/09/16 Javascript
js获取微信版本号的方法
2015/05/12 Javascript
神奇!js+CSS+DIV实现文字颜色渐变效果
2016/03/16 Javascript
yarn的使用与升级Node.js的方法详解
2017/06/04 Javascript
使用JavaScript实现表格编辑器(实例讲解)
2017/08/02 Javascript
详解React-Router中Url参数改变页面不刷新的解决办法
2018/05/08 Javascript
Vue中的$set的使用实例代码
2018/10/08 Javascript
小程序实现短信登录倒计时
2019/07/12 Javascript
layui form.render('select', 'test2') 更新渲染的方法
2019/09/27 Javascript
JS script脚本中async和defer区别详解
2020/06/24 Javascript
vue-amap根据地址回显地图并mark的操作
2020/11/03 Javascript
element-ui 弹窗组件封装的步骤
2021/01/22 Javascript
python通过ElementTree操作XML获取结点读取属性美化XML
2013/12/02 Python
Python中实现字符串类型与字典类型相互转换的方法
2014/08/18 Python
python检测某个变量是否有定义的方法
2015/05/20 Python
Python的PIL库中getpixel方法的使用
2020/04/09 Python
用 Python 制作地球仪的方法
2020/04/24 Python
python利用Excel读取和存储测试数据完成接口自动化教程
2020/04/30 Python
Django REST Swagger实现指定api参数
2020/07/07 Python
css3中背景尺寸background-size详解
2014/09/02 HTML / CSS
基于CSS3 animation动画属性实现轮播图效果
2017/09/12 HTML / CSS
盖尔斯工厂店:GUESS Factory
2020/01/21 全球购物
工商管理毕业生推荐信
2013/12/24 职场文书
爱国演讲稿400字
2014/05/07 职场文书
助学贷款贫困证明
2014/09/23 职场文书
三下乡活动心得体会
2016/01/23 职场文书
python读取pdf格式文档的实现代码
2021/04/01 Python
MySQL 使用索引扫描进行排序
2021/06/20 MySQL