PHP符合PSR編程規范的實例分享
716
2024-01-10
本文實例講述了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程序設計有所幫助。
#免責聲明#
本站[綠夏技術導航]提供的一切軟件、教程和內容信息僅限用于學習和研究目的;不得將上述內容用于商業或者非法用途,否則,一切后果請用戶自負。本站信息來自網絡收集整理,版權爭議與本站無關。您必須在下載后的24個小時之內,從您的電腦或手機中徹底刪除上述內容。如果您喜歡該程序或內容,請支持正版,購買注冊,得到更好的正版服務。我們非常重視版權問題,如有侵權請郵件[admin@lxwl520.com]與我們聯系進行刪除處理。敬請諒解!