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,超强推荐expand.js
Dec 23 Javascript
学习YUI.Ext基础第一天
Mar 10 Javascript
从新浪弄下来的全屏广告代码 与使用说明
Mar 15 Javascript
详解AngularJS中的http拦截
Feb 09 Javascript
复杂的javascript窗口分帧解析
Feb 19 Javascript
JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
Aug 24 Javascript
jQuery+ThinkPHP+Ajax实现即时消息提醒功能实例代码
Mar 21 jQuery
深入理解requireJS-实现一个简单的模块加载器
Jan 15 Javascript
vue使用pdfjs显示PDF可复制的实现方法
Dec 14 Javascript
新手快速入门JavaScript装饰者模式与AOP
Jun 24 Javascript
Vue + Element-ui的下拉框el-select获取额外参数详解
Aug 14 Javascript
js实现验证码干扰(动态)
Feb 23 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
自己前几天写的无限分类类
2007/02/14 PHP
php自动给文章加关键词链接的函数代码
2012/11/29 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
php ajax异步读取rss文档数据
2016/03/29 PHP
PHP+Redis开发的书签案例实战详解
2019/07/09 PHP
javascript prototype,executing,context,closure
2008/12/24 Javascript
给jQuery方法添加回调函数一款插件的应用
2013/01/21 Javascript
Jquery 动态循环输出表格具体方法
2013/11/23 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
2014/02/19 Javascript
javascript设置连续两次点击按钮时间间隔的方法
2014/10/28 Javascript
使用javascript实现Iframe自适应高度
2014/12/24 Javascript
javascript实现点击提交按钮后显示loading的方法
2015/07/03 Javascript
浅谈angularJS 作用域
2015/07/05 Javascript
jquery mobile 移动web(5)
2015/12/20 Javascript
简单实现node.js图片上传
2016/12/18 Javascript
js replace()去除代码中空格的实例
2017/02/14 Javascript
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
微信小程序搜索组件wxSearch实例详解
2017/06/08 Javascript
canvas绘制爱心的几种方法总结(推荐)
2017/10/31 Javascript
微信小程序 弹窗输入组件的实现解析
2019/08/12 Javascript
vue插槽slot的简单理解与用法实例分析
2020/03/14 Javascript
element-ui 弹窗组件封装的步骤
2021/01/22 Javascript
[54:24]Optic vs TNC 2018国际邀请赛小组赛BO2 第二场
2018/08/18 DOTA
Python re模块介绍
2014/11/30 Python
python使用xlrd与xlwt对excel的读写和格式设定
2017/01/21 Python
python访问抓取网页常用命令总结
2017/04/11 Python
Python cookbook(数据结构与算法)保存最后N个元素的方法
2018/02/13 Python
Python查找文件中包含中文的行方法
2018/12/19 Python
简单了解python协程的相关知识
2019/08/31 Python
OpenCV模板匹配matchTemplate的实现
2019/10/18 Python
中学生国旗下讲话稿
2014/04/26 职场文书
学校安全教育月活动总结
2014/07/07 职场文书
职代会闭幕词
2015/01/28 职场文书
保送生自荐信
2015/03/06 职场文书
2015年幼师工作总结
2015/04/28 职场文书
三种方式清除vue路由跳转router-link的历史记录
2022/04/10 Vue.js