系統城裝機大師 - 唯一官網:www.farandoo.com!

當前位置:首頁 > 網絡編程 > JavaScript > 詳細頁面

js實現點贊按鈕功能的實例代碼

時間:2020-03-06來源:電腦系統城作者:電腦系統城

js實現點贊按鈕功能,包括只能點贊一次,超過一次時提示文字(3秒后消失),點擊時次數加一(給后端傳值在這里解決)。

在這里插入圖片描述
在這里插入圖片描述

沒有按鈕加圖片,只用了改變顏色來表示
首先明確html頁面代碼


 
  1. <span id="tixing0" ></span>
  2. <div class="dianzan_11">
  3. <div class="dianzan_font">
  4. <center><span id="cishu0">18</span></center>
  5. </div>
  6. <button class="btn" id="0" onclick=""></button>
  7. </div>

首先我們要知道。在DOM中id是唯一的,這就表明我們獲取span標簽并進行區分時需要費點勁。我是根據button的id來標記和他一起的另外兩個sapn標簽,js中是這樣實現的


 
  1. var i=2;//評論條數
  2. var Atixing=new Array(); //存儲提示字的id名
  3. var Acishu=new Array(); //存儲次數的id名
  4. var count=new Array();//限制每次按鈕只可以單擊一次
  5. window.onload = function(){//頁面加載出來后實現下列方法
  6.  
  7. bianliButtonCount();//獲取所有按鈕id
  8. button1();//根據button 不同id進入不同標簽
  9. chushizhi();//將數據初始化
  10. }
  11. function bianliButtonCount(){
  12. for(var j = 0;j<i;j++){
  13. Atixing[j] = String("tixing"+j);
  14. Acishu[j] = String("cishu"+j);
  15. //alert(Atixing[j]);
  16. }
  17. }

這樣便將一條評論的button標簽和另外兩個span標簽合并了
類似:button id = 0;
span id= tixing0;
span id = cishu0;
這樣就可以實現一個三者的捆綁,不會錯亂。
接下來就是點擊按鈕式進入一個函數
第一次實現次數+1,并向后端傳值
其他的都是顯示提示字(提示字3秒消失)


 
  1. function button1(){
  2. var arr = document.getElementsByTagName('button');
  3. for(var i = 0;i<arr.length;i++){
  4. arr[i].onclick = function(){
  5. var btn = document.getElementById(this.id);
  6. btn.style.background="red";
  7. change(this.id);//根據button id,通過這個函數改變次數、提示字
  8. }
  9.  
  10. }
  11. }
  12. function change(id){
  13. if(count[id]!=1){
  14. document.getElementById(Acishu[id]).innerHTML="14";
  15. count[id]=1;
  16. }else{
  17. document.getElementById(Atixing[id]).innerHTML="親,您的贊太多了~";
  18. setTimeout(function(){document.getElementById(Atixing[id]).innerHTML="";},3000);//提示字三秒消失
  19. }
  20. }

還有一點,評論條數是從后端傳來的,我們這里只是模擬了兩條,已經評論的次數都是模擬的。

完整代碼如下:HTML


 
  1. <!--評論1-->
  2. <div class="content_2_box1">
  3. <div class="content_2_box1_1">
  4. <img src="images/001.gif" >
  5. <font class="content_2_box1_1_font">網絡用戶</font>
  6. <span id="tixing0" style="font-size:30px;color:red;position:relative;left:200px;top:-40px;"></span>
  7. <div class="dianzan_11">
  8. <div class="dianzan_font">
  9. <center><span id="cishu0">18</span></center>
  10. </div>
  11. <button class="btn" id="0" onclick=""></button>
  12. </div>
  13. </div>
  14. <div class="content_2_box1_2">
  15. <font>阿斯達四大撒大所,愛仕達撒所大所所大所,阿斯達薩達薩達!阿斯達四大撒大所
  16. 奧術大師大所!啊啊撒大所大所</font>
  17. </div>
  18. </div>
  19.  
  20. <!--評論1-->
  21. <div class="content_2_box1">
  22. <div class="content_2_box1_1">
  23. <img src="images/001.gif" >
  24. <font class="content_2_box1_1_font">網絡用戶</font>
  25. <span id="tixing1" style="font-size:30px;color:red;position:relative;left:200px;top:-40px;"></span>
  26. <div class="dianzan_11">
  27. <div class="dianzan_font">
  28. <center><span id="cishu1"></span></center>
  29. </div>
  30. <button class="btn" id="1" onclick=""></button>
  31. </div>
  32. </div>
  33. <div class="content_2_box1_2">
  34. <font>阿斯達四大撒大所,愛仕達撒所大所所大所,阿斯達薩達薩達!阿斯達四大撒大所
  35. 奧術大師大所!啊啊撒大所大所</font>
  36. </div>
  37. </div>

js代碼


 
  1. var i=2;//評論條數
  2. var Atixing=new Array(); //存儲提示字的id名
  3. var Acishu=new Array(); //存儲次數的id名
  4. var count=new Array();//限制每次按鈕只可以單擊一次
  5. window.onload = function(){//頁面加載出來后實現下列方法
  6.  
  7. bianliButtonCount();//獲取所有按鈕id
  8. button1();//根據button 不同id進入不同標簽
  9. chushizhi();//將數據初始化
  10. }
  11. function bianliButtonCount(){
  12. for(var j = 0;j<i;j++){
  13. Atixing[j] = String("tixing"+j);
  14. Acishu[j] = String("cishu"+j);
  15. //alert(Atixing[j]);
  16. }
  17.  
  18. }
  19. function chushizhi(){
  20. for(var m = 0;m<i;m++){
  21. document.getElementById(Atixing[m]).innerHTML="";
  22. document.getElementById(Acishu[m]).innerHTML="13";
  23. }
  24.  
  25. }
  26. function button1(){
  27. var arr = document.getElementsByTagName('button');
  28. for(var i = 0;i<arr.length;i++){
  29. arr[i].onclick = function(){
  30. var btn = document.getElementById(this.id);
  31. btn.style.background="red";
  32. change(this.id);//根據button id,通過這個函數改變次數、提示字
  33. }
  34.  
  35. }
  36. }
  37. function change(id){
  38. if(count[id]!=1){
  39. document.getElementById(Acishu[id]).innerHTML="14";
  40. count[id]=1;
  41. }else{
  42. document.getElementById(Atixing[id]).innerHTML="親,您的贊太多了~";
  43. setTimeout(function(){document.getElementById(Atixing[id]).innerHTML="";},3000);//提示字三秒消失
  44. }
  45.  
  46. }

總結

到此這篇關于js實現點贊按鈕功能的文章就介紹到這了,更多相關js實現點贊按鈕功能內容請搜索我們以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持我們!

分享到:

相關信息

系統教程欄目

欄目熱門教程

人氣教程排行

站長推薦

熱門系統下載

jlzzjlzz亚洲乱熟在线播放