js实现点赞按钮功能的实例代码


Posted in Javascript onMarch 06, 2020

js实现点赞按钮功能,包括只能点赞一次,超过一次时提示文字(3秒后消失),点击时次数加一(给后端传值在这里解决)。

js实现点赞按钮功能的实例代码
js实现点赞按钮功能的实例代码

没有按钮加图片,只用了改变颜色来表示
首先明确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="images/001.gif" >
 <font class="content_2_box1_1_font">网络用户</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>阿斯达四大撒大所,爱仕达撒所大所所大所,阿斯达萨达萨达!阿斯达四大撒大所
 奥术大师大所!啊啊撒大所大所</font>
 </div>
 </div>
 
 <!--评论1-->
 <div class="content_2_box1">
 <div class="content_2_box1_1">
 <img src="images/001.gif" >
 <font class="content_2_box1_1_font">网络用户</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>阿斯达四大撒大所,爱仕达撒所大所所大所,阿斯达萨达萨达!阿斯达四大撒大所
 奥术大师大所!啊啊撒大所大所</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();//获取所有按钮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实现点赞按钮功能内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
js拼接html注意问题示例探讨
Jul 14 Javascript
javascript实现动态表头及表列的展现方法
Jul 14 Javascript
jQuery实现元素拖拽并cookie保存顺序的方法
Feb 20 Javascript
JS实现获取当前URL和来源URL的方法
Aug 24 Javascript
JavaScript仿微博输入框效果(案例分析)
Dec 06 Javascript
Node.js使用Express创建Web项目详细教程
Mar 31 Javascript
详解angular element()方法使用
Apr 08 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
Feb 28 Javascript
对angularJs中自定义指令replace的属性详解
Oct 09 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【矩形情况】
Dec 13 Javascript
详解VScode编辑器vue环境搭建所遇问题解决方案
Apr 26 Javascript
vue+ESLint 配置保存 自动格式化代码
Mar 17 Javascript
微信小程序去除左上角返回键的实现方法
Mar 06 #Javascript
vue 使用插槽分发内容操作示例【单个插槽、具名插槽、作用域插槽】
Mar 06 #Javascript
vue-router 路由传参用法实例分析
Mar 06 #Javascript
JavaScript前端实现压缩图片功能
Mar 06 #Javascript
vue2路由方式--嵌套路由实现方法分析
Mar 06 #Javascript
vue2路由基本用法实例分析
Mar 06 #Javascript
vue 动态组件用法示例小结
Mar 06 #Javascript
You might like
人大复印资料处理程序_补充篇
2006/10/09 PHP
php实现的太平洋时间和北京时间互转的自定义函数分享
2014/08/19 PHP
Javascript调试工具(下载)
2007/01/09 Javascript
jQuery Flash/MP3/Video多媒体插件
2010/01/18 Javascript
不用构造函数(Constructor)new关键字也能实现JavaScript的面向对象
2013/01/11 Javascript
JQuery实现当鼠标停留在某区域3秒后自动执行
2014/09/09 Javascript
高效利用Angular中内置服务$http、$location等
2016/03/22 Javascript
jQuery侧边栏实现代码
2016/05/06 Javascript
JavaScript+Java实现HTML页面转为PDF文件保存的方法
2016/05/30 Javascript
JavaScript表单焦点自动切换代码
2016/07/24 Javascript
jQuery读取XML文件的方法示例
2017/02/03 Javascript
微信小程序与php 实现微信支付的简单实例
2017/06/23 Javascript
微信小程序 数据绑定及运算的简单实例
2017/09/20 Javascript
Angular整合zTree的示例代码
2018/01/24 Javascript
详解vue2.0 不同屏幕适配及px与rem转换问题
2018/02/23 Javascript
angularjs使用div模拟textarea文本框的方法
2018/10/02 Javascript
详解vue-cli 2.0配置文件(小结)
2019/01/14 Javascript
vue element动态渲染、移除表单并添加验证的实现
2019/01/16 Javascript
three.js利用卷积法如何实现物体描边效果
2019/11/27 Javascript
Javascript组合继承方法代码实例解析
2020/04/02 Javascript
Openlayers实现测量功能
2020/09/25 Javascript
微信小程序实现底部弹出框
2020/11/18 Javascript
python中 logging的使用详解
2017/10/25 Python
pycharm远程调试openstack的图文教程
2017/11/21 Python
Python中用psycopg2模块操作PostgreSQL方法
2017/11/28 Python
python实现拓扑排序的基本教程
2018/03/11 Python
Python多进程编程multiprocessing代码实例
2020/03/12 Python
HTML5是什么 HTML5是什么意思 HTML5简介
2012/10/26 HTML / CSS
英国护发和美妆在线商店:Klip Shop
2019/03/24 全球购物
计算机科学与技术应届生求职信
2013/11/07 职场文书
租车协议书范本
2014/04/22 职场文书
初中作文评语大全
2014/04/23 职场文书
清明节网上祭英烈活动总结
2014/04/30 职场文书
物业保安岗位职责
2014/07/02 职场文书
商务英语专业大学生职业生涯规划书
2014/09/14 职场文书
在校大学生才艺比赛策划书怎么写?
2019/08/26 职场文书