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用户注册提示效果的简单实例
Aug 17 Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
Sep 11 Javascript
jQuery3.0中的buildFragment私有函数详解
Aug 16 Javascript
JavaScript实现数组降维详解
Jan 05 Javascript
js实现表格筛选功能
Jan 18 Javascript
js获取html页面代码中图片地址的实现代码
Mar 05 Javascript
vue自定v-model实现表单数据双向绑定问题
Sep 03 Javascript
关于在vue 中使用百度ueEditor编辑器的方法实例代码
Sep 14 Javascript
vue下使用nginx刷新页面404的问题解决
Aug 02 Javascript
js简单的分页器插件代码实例
Sep 11 Javascript
js判断一个对象是数组(函数)的方法实例
Dec 19 Javascript
vue-cli3项目配置eslint代码规范的完整步骤
Sep 10 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
DC漫画《蝙蝠侠和猫女》图透 猫女怀孕老爷当爹
2020/04/09 欧美动漫
DOTA2 无惧惊涛骇浪 昆卡大型水友攻略
2020/04/20 DOTA
PHP5中MVC结构学习
2006/10/09 PHP
php获取mysql数据库中的所有表名的代码
2011/04/23 PHP
检查php文件中是否含有bom的函数
2012/05/31 PHP
PHP7标量类型declare用法实例分析
2016/09/26 PHP
php array_keys 返回数组的键名
2016/10/25 PHP
FF IE兼容性的修改小结
2009/09/02 Javascript
jQuery EasyUI API 中文文档 - MenuButton菜单按钮使用介绍
2011/10/06 Javascript
Bootstrap所支持的表单控件实例详解
2016/05/16 Javascript
js跨域资源共享 基础篇
2016/07/02 Javascript
BootStrap Validator使用注意事项(必看篇)
2016/09/28 Javascript
全面解析Node.js 8 重要功能和修复
2017/06/02 Javascript
JS库particles.js创建超炫背景粒子插件(附源码下载)
2017/09/13 Javascript
vue实现密码显示隐藏切换功能
2018/02/23 Javascript
使用javascript函数编写简单银行取钱存钱流程
2018/05/26 Javascript
详解Vue.js在页面加载时执行某个方法
2018/11/20 Javascript
JS执行控制之节流模式实例分析
2018/12/21 Javascript
简单谈谈javascript高级特性
2019/09/04 Javascript
jQuery 淡入/淡出效果函数用法分析
2020/05/19 jQuery
Python编程之属性和方法实例详解
2015/05/19 Python
Python自动化运维和部署项目工具Fabric使用实例
2016/09/18 Python
基于Django模板中的数字自增(详解)
2017/09/05 Python
python调用opencv实现猫脸检测功能
2019/01/15 Python
Python实现的对一个数进行因式分解操作示例
2019/06/27 Python
Python 窗体(tkinter)下拉列表框(Combobox)实例
2020/03/04 Python
python实现Pyecharts实现动态地图(Map、Geo)
2020/03/25 Python
HTML5中Localstorage的使用教程
2015/07/09 HTML / CSS
SEPHORA丝芙兰德国官方购物网站:化妆品、护肤品和香水
2020/01/21 全球购物
计算机网络毕业生自荐信
2013/10/01 职场文书
影视制作岗位职责
2013/12/04 职场文书
布达拉宫导游词
2015/02/02 职场文书
聚会通知怎么写
2015/04/23 职场文书
学习焦裕禄观后感
2015/06/09 职场文书
证婚人婚礼致辞
2015/07/28 职场文书
正则表达式拆分url实例代码
2022/02/24 Java/Android