js實(shí)現(xiàn)點(diǎn)贊按鈕功能的實(shí)例代碼
js實(shí)現(xiàn)點(diǎn)贊按鈕功能,包括只能點(diǎn)贊一次,超過一次時(shí)提示文字(3秒后消失),點(diǎn)擊時(shí)次數(shù)加一(給后端傳值在這里解決)。


沒有按鈕加圖片,只用了改變顏色來表示
首先明確html頁(yè)面代碼
<span id="tixing0" ></span> <div class="dianzan_11"> <div class="dianzan_font"> <center><span id="cishu0">18</span></center> </div> <button class="btn" id="0" onclick=""></button> </div>
首先我們要知道。在DOM中id是唯一的,這就表明我們獲取span標(biāo)簽并進(jìn)行區(qū)分時(shí)需要費(fèi)點(diǎn)勁。我是根據(jù)button的id來標(biāo)記和他一起的另外兩個(gè)sapn標(biāo)簽,js中是這樣實(shí)現(xiàn)的
var i=2;//評(píng)論條數(shù)
var Atixing=new Array(); //存儲(chǔ)提示字的id名
var Acishu=new Array(); //存儲(chǔ)次數(shù)的id名
var count=new Array();//限制每次按鈕只可以單擊一次
window.onload = function(){//頁(yè)面加載出來后實(shí)現(xiàn)下列方法
bianliButtonCount();//獲取所有按鈕id
button1();//根據(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]);
}
}
這樣便將一條評(píng)論的button標(biāo)簽和另外兩個(gè)span標(biāo)簽合并了
類似:button id = 0;
span id= tixing0;
span id = cishu0;
這樣就可以實(shí)現(xiàn)一個(gè)三者的捆綁,不會(huì)錯(cuò)亂。
接下來就是點(diǎn)擊按鈕式進(jìn)入一個(gè)函數(shù)
第一次實(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,通過這個(gè)函數(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);//提示字三秒消失
}
}
還有一點(diǎn),評(píng)論條數(shù)是從后端傳來的,我們這里只是模擬了兩條,已經(jīng)評(píng)論的次數(shù)都是模擬的。
完整代碼如下:HTML
<!--評(píng)論1--> <div class="content_2_box1"> <div class="content_2_box1_1"> <img src="images/001.gif" > <font class="content_2_box1_1_font">網(wǎng)絡(luò)用戶</font> <span id="tixing0" 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 class="btn" id="0" onclick=""></button> </div> </div> <div class="content_2_box1_2"> <font>阿斯達(dá)四大撒大所,愛仕達(dá)撒所大所所大所,阿斯達(dá)薩達(dá)薩達(dá)!阿斯達(dá)四大撒大所 奧術(shù)大師大所!啊啊撒大所大所</font> </div> </div> <!--評(píng)論1--> <div class="content_2_box1"> <div class="content_2_box1_1"> <img src="images/001.gif" > <font class="content_2_box1_1_font">網(wǎng)絡(luò)用戶</font> <span id="tixing1" 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 class="btn" id="1" 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;//評(píng)論條數(shù)
var Atixing=new Array(); //存儲(chǔ)提示字的id名
var Acishu=new Array(); //存儲(chǔ)次數(shù)的id名
var count=new Array();//限制每次按鈕只可以單擊一次
window.onload = function(){//頁(yè)面加載出來后實(shí)現(xiàn)下列方法
bianliButtonCount();//獲取所有按鈕id
button1();//根據(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,通過這個(gè)函數(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實(shí)現(xiàn)點(diǎn)贊按鈕功能的文章就介紹到這了,更多相關(guān)js實(shí)現(xiàn)點(diǎn)贊按鈕功能內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- js實(shí)現(xiàn)網(wǎng)頁(yè)自動(dòng)刷新可制作節(jié)日倒計(jì)時(shí)效果
- javascript實(shí)現(xiàn)帶節(jié)日和農(nóng)歷的日歷特效
- JavaScript評(píng)論點(diǎn)贊功能的實(shí)現(xiàn)方法
- js判斷節(jié)假日實(shí)例代碼
- 程序員的新年祝福 Happy New Year
- JS實(shí)現(xiàn)簡(jiǎn)單的點(diǎn)贊與踩功能示例
- javascript實(shí)現(xiàn)手動(dòng)點(diǎn)贊效果
- js實(shí)現(xiàn)點(diǎn)贊效果
- js實(shí)現(xiàn)簡(jiǎn)單點(diǎn)贊操作
- JavaScript實(shí)現(xiàn)點(diǎn)贊功能的示例
相關(guān)文章
JavaScript數(shù)組中reduce方法的應(yīng)用詳解
JavaScript 中的reduce()方法可以用于將數(shù)組元素匯總為單個(gè)值,,所以本文為大家整理了一些JavaScript數(shù)組中reduce方法的應(yīng)用,需要的可以參考一下2023-07-07
基于JS實(shí)現(xiàn)禁止查看源碼及獲取鍵盤的按鍵值
這篇文章主要介紹了基于JS實(shí)現(xiàn)禁止查看源碼及獲取鍵盤的按鍵值,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-02-02
將json當(dāng)數(shù)據(jù)庫(kù)一樣操作的javascript lib
使用javascript操作JSON的類庫(kù)TAFFY DB,具體介紹了:查詢數(shù)據(jù)、添加數(shù)據(jù)、刪除數(shù)據(jù)、修改數(shù)據(jù)。2013-10-10
兩個(gè)table之間相互移動(dòng)數(shù)據(jù)
兩個(gè)table之間相互移動(dòng)數(shù)據(jù)的實(shí)現(xiàn)代碼。2009-05-05
Js得到radiobuttonlist選中值的兩種方法(推薦)
下面小編就為大家?guī)硪黄狫s得到radiobuttonlist選中值的兩種方法(推薦)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08

