js实现点赞按钮功能,包括只能点赞一次,超过一次时提示文字(3秒后消失),点击时次数加一(给后端传值在这里解决)。
没有按钮加图片,只用了改变颜色来表示
首先明确html页面代码
<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标签并进行区分时需要费点劲。我是根据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();//获取所有按钮id button1();//根据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="/UploadFiles/2021-04-02/001.gif">js代码
var i=2;//评论条数 var Atixing=new Array(); //存储提示字的id名 var Acishu=new Array(); //存储次数的id名 var count=new Array();//限制每次按钮只可以单击一次 window.onload = function(){//页面加载出来后实现下列方法 bianliButtonCount();//获取所有按钮id button1();//根据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,点赞
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
内蒙古资源网 Copyright www.nmgbbs.com
暂无“js实现点赞按钮功能的实例代码”评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。