js實現(xiàn)點贊按鈕功能的實例代碼
js實現(xiàn)點贊按鈕功能,包括只能點贊一次,超過一次時提示文字(3秒后消失),點擊時次數(shù)加一(給后端傳值在這里解決)。
沒有按鈕加圖片,只用了改變顏色來表示首先明確html頁面代碼
<span ></span> <div class='dianzan_11'> <div class='dianzan_font'> <center><span id='cishu0'>18</span></center> </div> <button onclick=''></button> </div>
首先我們要知道。在DOM中id是唯一的,這就表明我們獲取span標(biāo)簽并進(jìn)行區(qū)分時需要費點勁。我是根據(jù)button的id來標(biāo)記和他一起的另外兩個sapn標(biāo)簽,js中是這樣實現(xiàn)的
var i=2;//評論條數(shù)var Atixing=new Array(); //存儲提示字的id名var Acishu=new Array(); //存儲次數(shù)的id名var count=new Array();//限制每次按鈕只可以單擊一次window.onload = function(){//頁面加載出來后實現(xiàn)下列方法bianliButtonCount();//獲取所有按鈕idbutton1();//根據(jù)button 不同id進(jìn)入不同標(biāo)簽chushizhi();//將數(shù)據(jù)初始化}function bianliButtonCount(){ for(var j = 0;j<i;j++){ Atixing[j] = String('tixing'+j); Acishu[j] = String('cishu'+j); //alert(Atixing[j]); }}
這樣便將一條評論的button標(biāo)簽和另外兩個span標(biāo)簽合并了類似:button id = 0;span id= tixing0;span id = cishu0;這樣就可以實現(xiàn)一個三者的捆綁,不會錯亂。接下來就是點擊按鈕式進(jìn)入一個函數(shù)第一次實現(xiàn)次數(shù)+1,并向后端傳值其他的都是顯示提示字(提示字3秒消失)
function button1(){var arr = document.getElementsByTagName(’button’); for(var i = 0;i<arr.length;i++){ arr[i].onclick = function(){ var btn = document.getElementById(this.id); btn.style.background='red'; change(this.id);//根據(jù)button id,通過這個函數(shù)改變次數(shù)、提示字 } }}function change(id){if(count[id]!=1){ document.getElementById(Acishu[id]).innerHTML='14'; count[id]=1;}else{ document.getElementById(Atixing[id]).innerHTML='親,您的贊太多了~'; setTimeout(function(){document.getElementById(Atixing[id]).innerHTML='';},3000);//提示字三秒消失}}
還有一點,評論條數(shù)是從后端傳來的,我們這里只是模擬了兩條,已經(jīng)評論的次數(shù)都是模擬的。
完整代碼如下:HTML
<!--評論1--> <div class='content_2_box1'> <div class='content_2_box1_1'> <img src='http://www.4tl426be.cn/bcjs/images/001.gif' > <font class='content_2_box1_1_font'>網(wǎng)絡(luò)用戶</font> <span style='font-size:30px;color:red;position:relative;left:200px;top:-40px;'></span> <div class='dianzan_11'> <div class='dianzan_font'> <center><span id='cishu0'>18</span></center> </div> <button onclick=''></button> </div> </div> <div class='content_2_box1_2'> <font>阿斯達(dá)四大撒大所,愛仕達(dá)撒所大所所大所,阿斯達(dá)薩達(dá)薩達(dá)!阿斯達(dá)四大撒大所 奧術(shù)大師大所!啊啊撒大所大所</font> </div> </div> <!--評論1--> <div class='content_2_box1'> <div class='content_2_box1_1'> <img src='http://www.4tl426be.cn/bcjs/images/001.gif' > <font class='content_2_box1_1_font'>網(wǎng)絡(luò)用戶</font> <span style='font-size:30px;color:red;position:relative;left:200px;top:-40px;'></span> <div class='dianzan_11'> <div class='dianzan_font'> <center><span id='cishu1'></span></center> </div> <button onclick=''></button> </div> </div> <div class='content_2_box1_2'> <font>阿斯達(dá)四大撒大所,愛仕達(dá)撒所大所所大所,阿斯達(dá)薩達(dá)薩達(dá)!阿斯達(dá)四大撒大所 奧術(shù)大師大所!啊啊撒大所大所</font> </div> </div>
js代碼
var i=2;//評論條數(shù)var Atixing=new Array(); //存儲提示字的id名 var Acishu=new Array(); //存儲次數(shù)的id名var count=new Array();//限制每次按鈕只可以單擊一次window.onload = function(){//頁面加載出來后實現(xiàn)下列方法bianliButtonCount();//獲取所有按鈕idbutton1();//根據(jù)button 不同id進(jìn)入不同標(biāo)簽chushizhi();//將數(shù)據(jù)初始化}function bianliButtonCount(){ for(var j = 0;j<i;j++){ Atixing[j] = String('tixing'+j); Acishu[j] = String('cishu'+j); //alert(Atixing[j]); }}function chushizhi(){for(var m = 0;m<i;m++){ document.getElementById(Atixing[m]).innerHTML=''; document.getElementById(Acishu[m]).innerHTML='13'; }}function button1(){var arr = document.getElementsByTagName(’button’); for(var i = 0;i<arr.length;i++){ arr[i].onclick = function(){ var btn = document.getElementById(this.id); btn.style.background='red'; change(this.id);//根據(jù)button id,通過這個函數(shù)改變次數(shù)、提示字 } }}function change(id){if(count[id]!=1){ document.getElementById(Acishu[id]).innerHTML='14'; count[id]=1;}else{ document.getElementById(Atixing[id]).innerHTML='親,您的贊太多了~'; setTimeout(function(){document.getElementById(Atixing[id]).innerHTML='';},3000);//提示字三秒消失}}
總結(jié)
到此這篇關(guān)于js實現(xiàn)點贊按鈕功能的文章就介紹到這了,更多相關(guān)js實現(xiàn)點贊按鈕功能內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. python爬蟲實戰(zhàn)之制作屬于自己的一個IP代理模塊2. python實現(xiàn)PolynomialFeatures多項式的方法3. python實現(xiàn)在內(nèi)存中讀寫str和二進(jìn)制數(shù)據(jù)代碼4. Android Studio設(shè)置顏色拾色器工具Color Picker教程5. HTML 絕對路徑與相對路徑概念詳細(xì)6. Spring如何使用xml創(chuàng)建bean對象7. python 利用toapi庫自動生成api8. Java程序的編碼規(guī)范(6)9. IntelliJ IDEA設(shè)置默認(rèn)瀏覽器的方法10. Android使用WebView實現(xiàn)離線閱讀功能
