jQuery实现的超简单点赞效果实例分析

 更新时间:2015年12月31日 12:22:21   作者:w2bc  
这篇文章主要介绍了jQuery实现的超简单点赞效果,结合实例形式分析了jQuery实现点赞功能的具体步骤与相关技巧,需要的朋友可以参考下

本文实例讲述了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>雷囧</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中值得注意的trigger方法浅析

    jQuery中值得注意的trigger方法浅析

    在前端页面开发中,我们有时候希望能自定执行一些人性化操作,比如鼠标不用点击自动就能点击等操作,利用传统的js语言需要编写复杂的代码才能实现此功能,这时候我们使用jquery的trigger()方法就能轻松实现。本文就给大家详细介绍了关于jQuery中值得注意的trigger方法。
    2016-12-12
  • JQuery创建DOM节点的方法

    JQuery创建DOM节点的方法

    这篇文章主要介绍了JQuery创建DOM节点的方法,实例分析了jQuery创建元素结点、文本结点、属性结点的相关技巧,需要的朋友可以参考下
    2015-06-06
  • jquery easyui使用心得

    jquery easyui使用心得

    jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。
    2014-07-07
  • jQuery 处理表单元素的代码

    jQuery 处理表单元素的代码

    jQuery基础 -- 处理表单元素
    2010-02-02
  • 更高效的使用JQuery 这里总结了8个小技巧

    更高效的使用JQuery 这里总结了8个小技巧

    本文和其他的介绍JQuery的方法不同,本文侧重点是介绍一些JQuery的使用原则,以便让JQuery代码更高效的执行。
    2016-04-04
  • Jquery节点遍历next与nextAll方法使用示例

    Jquery节点遍历next与nextAll方法使用示例

    next()方法用于获取“节点之后”挨着它的第一个“同类同辈”元素。nextAll()方法用于获取“节点之后”所有的元素
    2014-07-07
  • jQuery flip插件实现的翻牌效果示例【附demo源码下载】

    jQuery flip插件实现的翻牌效果示例【附demo源码下载】

    这篇文章主要介绍了jQuery flip插件实现的翻牌效果,可实现类似卡罗牌翻页的视觉效果,涉及jquery.flip.min.js插件的使用,并附带demo源码供读者下载参考,需要的朋友可以参考下
    2016-09-09
  • jquery eval解析JSON中的注意点介绍

    jquery eval解析JSON中的注意点介绍

    在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式:使用eval()函数、使用Function对象来进行返回解析,下面有个示例,感兴趣的朋友可以参考下
    2013-08-08
  • 基于Jquery和html5的7款个性化地图插件

    基于Jquery和html5的7款个性化地图插件

    现在我们经常会用到一些地图应用,无论是在网页上还是手机App中,地图貌似是一个不可或缺的应用。本文将带领大家一起来看看jQuery和HTML5的个性化地图插件,都是比较实用的,感兴趣的朋友一起学习吧
    2015-11-11
  • uploadify多文件上传参数设置技巧

    uploadify多文件上传参数设置技巧

    uploadify插件配置实用比较简单,很多开发者都喜欢使用。但是它有个缺点就是刚加载的时候稍微慢了一秒左右,本文通过一段代码实例给大家介绍uploadify多文件上传参数设置技巧,朋友们一起学习吧
    2015-11-11

最新评论