jQuery實現(xiàn)的超簡單點贊效果實例分析
本文實例講述了jQuery實現(xiàn)的超簡單點贊效果,分享給大家供大家參考,具體如下:
1.HTML(可以優(yōu)化一下,盡量少些幾個標簽.....)
<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運用的不是非常好,大家可以優(yōu)化的更好一些)
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+CSS3實現(xiàn)點贊功能
- jquery心形點贊關注效果的簡單實現(xiàn)
- jQuery+ajax實現(xiàn)實用的點贊插件代碼
- jQuery實現(xiàn)簡單的點贊效果
- php+jQuery+Ajax實現(xiàn)點贊效果的方法(附源碼下載)
- jQuery+ajax實現(xiàn)文章點贊功能的方法
- jQuery實現(xiàn)的給圖片點贊+1動畫效果(附在線演示及demo源碼下載)
- jQuery實現(xiàn)的點贊隨機數字顯示動畫效果(附在線演示與demo源碼下載)
- jQuery簡單實現(xiàn)QQ空間點贊已經取消點贊
- jquery點贊功能實現(xiàn)代碼 點個贊吧!
相關文章
jQuery 常見操作實現(xiàn)方式和常用函數方法總結
一個優(yōu)秀的 JavaScript 框架,一篇 jQuery 常用方法及函數的文章留存?zhèn)渫?/div> 2011-05-05
JQuery實現(xiàn)表格動態(tài)增加行并對新行添加事件
JQuery實現(xiàn)表格動態(tài)增加行,一直保持最下面有多個空白行。這樣可以避免一次增加太多行可能導致頁面內容太多,反應變慢2014-07-07
jQuery實現(xiàn)類似淘寶購物車全選狀態(tài)示例
今天寫了個類似淘寶購物車全選狀態(tài),看下截圖,效果還不錯吧,具體的實現(xiàn)html及jQuery代碼如下,感興趣的朋友可以參考下哈2013-06-06
jQuery插件HighCharts繪制2D圓環(huán)圖效果示例【附demo源碼下載】
這篇文章主要介紹了jQuery插件HighCharts繪制2D圓環(huán)圖效果,結合實例形式分析了jQuery使用HighCharts插件繪制圓環(huán)圖的實現(xiàn)步驟與相關操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03最新評論

