js實現點贊按鈕功能的實例代碼
js實現點贊按鈕功能,包括只能點贊一次,超過一次時提示文字(3秒后消失),點擊時次數加一(給后端傳值在這里解決)。
沒有按鈕加圖片,只用了改變顏色來表示首先明確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標簽并進行區分時需要費點勁。我是根據button的id來標記和他一起的另外兩個sapn標簽,js中是這樣實現的
var i=2;//評論條數var Atixing=new Array(); //存儲提示字的id名var Acishu=new Array(); //存儲次數的id名var count=new Array();//限制每次按鈕只可以單擊一次window.onload = function(){//頁面加載出來后實現下列方法bianliButtonCount();//獲取所有按鈕idbutton1();//根據button 不同id進入不同標簽chushizhi();//將數據初始化}function bianliButtonCount(){ for(var j = 0;j<i;j++){ Atixing[j] = String('tixing'+j); Acishu[j] = String('cishu'+j); //alert(Atixing[j]); }}
這樣便將一條評論的button標簽和另外兩個span標簽合并了類似:button id = 0;span id= tixing0;span id = cishu0;這樣就可以實現一個三者的捆綁,不會錯亂。接下來就是點擊按鈕式進入一個函數第一次實現次數+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);//根據button id,通過這個函數改變次數、提示字 } }}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);//提示字三秒消失}}
還有一點,評論條數是從后端傳來的,我們這里只是模擬了兩條,已經評論的次數都是模擬的。
完整代碼如下:HTML
<!--評論1--> <div class='content_2_box1'> <div class='content_2_box1_1'> <img src='http://www.cgvv.com.cn/bcjs/images/001.gif' > <font class='content_2_box1_1_font'>網絡用戶</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>阿斯達四大撒大所,愛仕達撒所大所所大所,阿斯達薩達薩達!阿斯達四大撒大所 奧術大師大所!啊啊撒大所大所</font> </div> </div> <!--評論1--> <div class='content_2_box1'> <div class='content_2_box1_1'> <img src='http://www.cgvv.com.cn/bcjs/images/001.gif' > <font class='content_2_box1_1_font'>網絡用戶</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>阿斯達四大撒大所,愛仕達撒所大所所大所,阿斯達薩達薩達!阿斯達四大撒大所 奧術大師大所!啊啊撒大所大所</font> </div> </div>
js代碼
var i=2;//評論條數var Atixing=new Array(); //存儲提示字的id名 var Acishu=new Array(); //存儲次數的id名var count=new Array();//限制每次按鈕只可以單擊一次window.onload = function(){//頁面加載出來后實現下列方法bianliButtonCount();//獲取所有按鈕idbutton1();//根據button 不同id進入不同標簽chushizhi();//將數據初始化}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);//根據button id,通過這個函數改變次數、提示字 } }}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);//提示字三秒消失}}
總結
到此這篇關于js實現點贊按鈕功能的文章就介紹到這了,更多相關js實現點贊按鈕功能內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: