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 document.execCommand() 常用解析
Dec 14 Javascript
angularjs 处理多个异步请求方法汇总
Jan 06 Javascript
node.js+express制作网页计算器
Jan 17 Javascript
js改变css样式的三种方法推荐
Jun 28 Javascript
浅析Ajax语法
Dec 05 Javascript
微信小程序(六):列表上拉加载下拉刷新示例
Jan 13 Javascript
jquery dialog获取焦点的方法
Feb 09 Javascript
Vue.js教程之axios与网络传输的学习实践
Apr 29 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
Aug 14 Javascript
解决layer弹层遮罩挡住窗体的问题
Aug 17 Javascript
vue路由教程之静态路由
Sep 03 Javascript
聊聊Vue中provide/inject的应用详解
Nov 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
社区(php&amp;&amp;mysql)二
2006/10/09 PHP
PHP个人网站架设连环讲(三)
2006/10/09 PHP
php时间戳格式化显示友好的时间函数分享
2014/10/21 PHP
SWFObject 2.1以上版本语法介绍
2010/07/10 Javascript
基于PHP+Jquery制作的可编辑的表格的代码
2011/04/10 Javascript
关于setInterval、setTimeout在jQuery中的使用注意事项
2011/09/28 Javascript
jquery中交替点击事件的实现代码
2014/02/14 Javascript
兼容IE、firefox以及chrome的js获取时间(getFullYear)
2014/07/04 Javascript
封装好的js判断操作系统与浏览器代码分享
2015/01/09 Javascript
DOM操作一些常用的属性汇总
2015/03/13 Javascript
canvas实现弧形可拖动进度条效果
2017/05/11 Javascript
使用js获取伪元素的content实例
2017/10/24 Javascript
纯JavaScript实现实时反馈系统时间
2017/10/26 Javascript
LayUI表格批量删除方法
2018/08/15 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
2018/09/29 Javascript
Vue 之孙组件向爷组件通信的实现
2019/04/23 Javascript
vue实现抖音时间转盘
2019/09/08 Javascript
Python中random模块生成随机数详解
2016/03/10 Python
深入解析Python的Tornado框架中内置的模板引擎
2016/07/11 Python
python strip() 函数和 split() 函数的详解及实例
2017/02/03 Python
python实现二维数组的对角线遍历
2019/03/02 Python
Python字符编码转码之GBK,UTF8互转
2020/02/09 Python
Anaconda和ipython环境适配的实现
2020/04/22 Python
Python实现曲线拟合的最小二乘法
2021/02/19 Python
Css3新特性应用之视觉效果实例
2016/12/12 HTML / CSS
利用CSS3制作简单的3d半透明立方体图片展示
2017/03/25 HTML / CSS
Nike西班牙官方网站:Nike.com (ES)
2017/10/30 全球购物
英国优质家居用品网上品牌:URBANARA
2018/06/01 全球购物
MUGLER官方网站:蒂埃里·穆勒香水
2019/11/26 全球购物
电气专业应届生求职信
2013/11/01 职场文书
小学作文评语大全
2014/04/21 职场文书
2015年医德考评自我评价
2015/03/03 职场文书
医德医风自我评价2015
2015/03/03 职场文书
2016中秋节广告语
2016/01/28 职场文书
Python包argparse模块常用方法
2021/06/04 Python
快速学习Oracle触发器和游标
2021/06/30 Oracle