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 相关文章推荐
关于__defineGetter__ 和__defineSetter__的说明
May 12 Javascript
删除select中所有option选项jquery代码
Aug 12 Javascript
javascript通过元素id和name直接取得元素的方法
Apr 28 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
Jul 09 Javascript
form表单转Json提交的方法(推荐)
Sep 23 Javascript
JavaScript实现的CRC32函数示例
Nov 23 Javascript
原生js编写焦点图效果
Dec 08 Javascript
详解微信小程序开发—你期待的分享功能来了,微信小程序序新增5大功能
Dec 23 Javascript
AngularJS实现的回到顶部指令功能实例
May 17 Javascript
原生JS封装animate运动框架的实例
Oct 12 Javascript
Vue封装的组件全局注册并引用
Jul 24 Javascript
Vue实现数据请求拦截
Oct 23 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
PHP中输出转义JavaScript代码的实现代码
2011/04/22 PHP
Yii框架Session与Cookie使用方法示例
2019/10/14 PHP
关于viewport,Ext.panel和Ext.form.panel的关系
2009/05/07 Javascript
js字符串转换成数字与数字转换成字符串的实现方法
2014/01/08 Javascript
js实现鼠标感应图片展示的方法
2015/02/27 Javascript
AngularJS入门教程之ng-checked 指令详解
2016/08/01 Javascript
浅谈JavaScript中promise的使用
2017/01/11 Javascript
前端编码规范(3)JavaScript 开发规范
2017/01/21 Javascript
jQuery树控件zTree使用方法详解(一)
2017/02/28 Javascript
jQuery、layer实现弹出层的打开、关闭功能
2017/06/28 jQuery
ionic App问题总结系列之ionic点击系统返回键退出App
2017/08/19 Javascript
AngularJS中table表格基本操作示例
2017/10/10 Javascript
Vue动态控制input的disabled属性的方法
2018/06/26 Javascript
微信小程序实现搜索指定景点周边美食、酒店
2019/05/18 Javascript
Vue实现点击箭头上下移动效果
2020/06/11 Javascript
vue中touch和click共存的解决方式
2020/07/28 Javascript
[02:02]DOTA2英雄基础教程 斯拉达
2013/12/11 DOTA
[11:01]2014DOTA2西雅图邀请赛 冷冷带你探秘威斯汀
2014/07/08 DOTA
分析用Python脚本关闭文件操作的机制
2015/06/28 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
2018/05/30 Python
Python基于mysql实现学生管理系统
2019/02/21 Python
Python3中列表list合并的四种方法
2019/04/19 Python
关于python中密码加盐的学习体会小结
2019/07/15 Python
PyQtGraph在pyqt中的应用及安装过程
2019/08/04 Python
妙用itchat! python实现久坐提醒功能
2019/11/25 Python
pytorch实现seq2seq时对loss进行mask的方式
2020/02/18 Python
Python实现我的世界小游戏源代码
2021/03/02 Python
英国高街奥特莱斯:Highstreet Outlet
2019/11/21 全球购物
Pharmacy Online中文直邮网站:澳洲大型药房
2020/06/27 全球购物
幼儿园庆六一活动方案
2014/03/06 职场文书
见习期个人总结
2015/03/05 职场文书
交通事故调解协议书
2015/05/20 职场文书
田径运动会广播稿
2015/08/19 职场文书
vue首次渲染全过程
2021/04/21 Vue.js
用python实现监控视频人数统计
2021/05/21 Python
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS