做移動開發的時候經常會遇到點贊的一些處理,尤其是當使用字體圖標的時候,由于僅希望改變字體,但是字體經過編譯之后又和它的.html()不一致,所以導致判斷起來比較麻煩,最后想了一個辦法來解決此問題。
還有一種點贊是點贊之后后面跟有數字,點擊之后顏色變化并且數字+1,當再次點擊的時候,顏色改變并且數字-1。
以下是我寫的一個小例子來簡單實現。
效果圖如下:
HTML代碼:
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><title>點贊</title><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"><link rel="stylesheet" type="text/css" href="css/style.css" ><script src="js/Zepto.js"></script><script src="js/touch.js"></script></head><body><div class="method1"> <p> <i class="iconfont icon"></i><a class="iconfont" style="display: none;" id="node"></a> </p> <p> <i class="iconfont icon"></i> </p> <p> <i class="iconfont icon"></i> </p></div> <div class="method2"> <p> <i class="iconfont icon"></i><span>50</span> </p> <p> <i class="iconfont icon"></i><span>60</span> </p> <p> <i class="iconfont icon"></i><span>80</span> </p></div> <script src="js/jss.js"></script></body></html>
css代碼:
@font-face {font-family: 'iconfont'; src: url('iconfont.eot'); /* IE9*/ src: url('iconfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('iconfont.woff') format('woff'), /* chrome、firefox */ url('iconfont.ttf') format('truetype'), /* chrome、firefox、opera、Safari, Android, iOS 4.2+*/ url('iconfont.svg#iconfont') format('svg'); /* iOS 4.1- */}.iconfont{ font-family:"iconfont" !important; font-size:16px;font-style:normal; -webkit-font-smoothing: antialiased; -webkit-text-stroke-width: 0.2px; -moz-osx-font-smoothing: grayscale;}*{ margin: 0; padding: 0;}.method1 { color: green;}.method1 p,.method2 p { padding-left: 20px; margin-top: 10px;}.icon { cursor: pointer; font-size: 30px;}.method2 { color: #000;}.method2 span { font-size: 30px;}
js代碼:
var str = $("#node").html();$(".method1").on("tap","i",function(){ var html = $(this).html(); if(html == str){ $(this).html(""); }else{ $(this).html(""); }});$(".method2").on("tap","p",function(){ var color = $(this).find("i").css("color"); var number = $(this).find("span").html(); if(color == "rgb(0, 0, 0)"){ $(this).find("i").css("color","#f00"); $(this).find("span").html(number*1+1); }else if(color == "rgb(255, 0, 0)"){ $(this).find("i").css("color","#000"); $(this).find("span").html(number*1-1); }})
至于字體圖標可以去阿里矢量圖庫進行下載;
如果需要完整的代碼可以到此處下載:js實現手動點贊效果
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。
新聞熱點
疑難解答