jQuery實(shí)現(xiàn)的超簡(jiǎn)單點(diǎn)贊效果實(shí)例分析
本文實(shí)例講述了jQuery實(shí)現(xiàn)的超簡(jiǎn)單點(diǎn)贊效果,分享給大家供大家參考,具體如下:
1.HTML(可以優(yōu)化一下,盡量少些幾個(gè)標(biāo)簽.....)
<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>無(wú)聊</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(對(duì)js運(yùn)用的不是非常好,大家可以優(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); //獲取最大點(diǎn)贊數(shù); 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(){ //點(diǎn)贊增加; Arr=[]; Arr2=[]; osz=$(this).siblings('em').text(); osz++; $(this).siblings('em').text(osz); o_mm(); }); }; o_dianz();
好了,代碼都貼上來(lái)了,超級(jí)簡(jiǎn)單的。我寫的原理(不知道是不是有更好的,同時(shí)bug也沒有檢測(cè)):設(shè)置i標(biāo)簽的默認(rèn)高度為80px,然后通過(guò)js求出每一個(gè)em的text數(shù)值,丟入數(shù)組Arr中,再通過(guò)這個(gè)方法Math.max.apply(null,Arr),求最大text的數(shù)值,進(jìn)而求出比例尺(通過(guò)最大text求出比例尺可以保證高度不會(huì)大于80PX),最后通過(guò)每一個(gè)text的數(shù)值乘以比例尺M(jìn)ath.floor(osz*bl),求出每一個(gè)em對(duì)應(yīng)的高度值。<br><br>后面的點(diǎn)擊事件中每點(diǎn)擊一次圖標(biāo),相對(duì)應(yīng)的重置一次Arr和Arr2,可以保證數(shù)值是實(shí)時(shí)更新的。。。 OK,到這里就完了,
最終結(jié)果:
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。
- jQuery+CSS3實(shí)現(xiàn)點(diǎn)贊功能
- jquery心形點(diǎn)贊關(guān)注效果的簡(jiǎn)單實(shí)現(xiàn)
- jQuery+ajax實(shí)現(xiàn)實(shí)用的點(diǎn)贊插件代碼
- jQuery實(shí)現(xiàn)簡(jiǎn)單的點(diǎn)贊效果
- php+jQuery+Ajax實(shí)現(xiàn)點(diǎn)贊效果的方法(附源碼下載)
- jQuery+ajax實(shí)現(xiàn)文章點(diǎn)贊功能的方法
- jQuery實(shí)現(xiàn)的給圖片點(diǎn)贊+1動(dòng)畫效果(附在線演示及demo源碼下載)
- jQuery實(shí)現(xiàn)的點(diǎn)贊隨機(jī)數(shù)字顯示動(dòng)畫效果(附在線演示與demo源碼下載)
- jQuery簡(jiǎn)單實(shí)現(xiàn)QQ空間點(diǎn)贊已經(jīng)取消點(diǎn)贊
- jquery點(diǎn)贊功能實(shí)現(xiàn)代碼 點(diǎn)個(gè)贊吧!
相關(guān)文章
jQuery 常見操作實(shí)現(xiàn)方式和常用函數(shù)方法總結(jié)
一個(gè)優(yōu)秀的 JavaScript 框架,一篇 jQuery 常用方法及函數(shù)的文章留存?zhèn)渫?/div> 2011-05-05JQuery實(shí)現(xiàn)表格動(dòng)態(tài)增加行并對(duì)新行添加事件
JQuery實(shí)現(xiàn)表格動(dòng)態(tài)增加行,一直保持最下面有多個(gè)空白行。這樣可以避免一次增加太多行可能導(dǎo)致頁(yè)面內(nèi)容太多,反應(yīng)變慢2014-07-07jquery實(shí)現(xiàn)簡(jiǎn)單的無(wú)縫滾動(dòng)
這里給大家分享的是使用jQuery實(shí)現(xiàn)簡(jiǎn)單的無(wú)縫滾動(dòng)的效果,其思路是我們通過(guò)js控制 ul 標(biāo)簽的margin 來(lái)實(shí)現(xiàn)滾動(dòng)。橫向滾動(dòng)則是控制 margin-left ; 縱向滾動(dòng)則是控制 margin-top;,有需要的小伙伴可以參考下。2015-04-04jQuery實(shí)現(xiàn)類似淘寶購(gòu)物車全選狀態(tài)示例
今天寫了個(gè)類似淘寶購(gòu)物車全選狀態(tài),看下截圖,效果還不錯(cuò)吧,具體的實(shí)現(xiàn)html及jQuery代碼如下,感興趣的朋友可以參考下哈2013-06-06jQuery實(shí)現(xiàn)類似標(biāo)簽風(fēng)格的導(dǎo)航菜單效果代碼
這篇文章主要介紹了jQuery實(shí)現(xiàn)類似標(biāo)簽風(fēng)格的導(dǎo)航菜單效果代碼,涉及jquery鼠標(biāo)事件操作頁(yè)面元素的遍歷與樣式動(dòng)態(tài)修改技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-08-08jQuery插件HighCharts繪制2D圓環(huán)圖效果示例【附demo源碼下載】
這篇文章主要介紹了jQuery插件HighCharts繪制2D圓環(huán)圖效果,結(jié)合實(shí)例形式分析了jQuery使用HighCharts插件繪制圓環(huán)圖的實(shí)現(xiàn)步驟與相關(guān)操作技巧,并附帶demo源碼供讀者下載參考,需要的朋友可以參考下2017-03-03jQuery實(shí)現(xiàn)氣球彈出框式的側(cè)邊導(dǎo)航菜單效果
這篇文章主要介紹了jQuery實(shí)現(xiàn)氣球彈出框式的側(cè)邊導(dǎo)航菜單效果,通過(guò)css樣式控制結(jié)合jQuery響應(yīng)鼠標(biāo)事件動(dòng)態(tài)切換元素樣式實(shí)現(xiàn)提示框效果,非常美觀實(shí)用,需要的朋友可以參考下2015-09-09jQuery+ThinkPHP實(shí)現(xiàn)圖片上傳
這篇文章主要為大家詳細(xì)介紹了jQuery+ThinkPHP實(shí)現(xiàn)圖片上傳,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07jQuery文本框得到與失去焦點(diǎn)動(dòng)態(tài)改變樣式效果
這篇文章主要介紹了jQuery文本框得到與失去焦點(diǎn)動(dòng)態(tài)改變樣式效果,涉及jQuery針對(duì)頁(yè)面表單元素樣式的動(dòng)態(tài)操作技巧,需要的朋友可以參考下2016-09-09最新評(píng)論