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 相关文章推荐
jquery 实现表单验证功能代码(简洁)
Jul 03 Javascript
javascritp添加url参数将参数加入到url中
Sep 25 Javascript
jQuery常用的一些技巧汇总
Mar 26 Javascript
判断是否存在子节点的实现代码
May 18 Javascript
javascript正则表达式中分组详解
Jul 17 Javascript
Vue开发中整合axios的文件整理
Apr 29 Javascript
浅谈 Vue v-model指令的实现原理
Jun 08 Javascript
js实现会跳动的日历效果(完整实例)
Oct 18 Javascript
使用 Node.js 模拟滑动拼图验证码操作的示例代码
Nov 02 Javascript
layui table单元格事件修改值的方法
Sep 24 Javascript
基于JavaScript或jQuery实现网站夜间/高亮模式
May 30 jQuery
three.js着色器材质的内置变量示例详解
Aug 16 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随机抽奖实例分析
2015/03/04 PHP
PHP永久登录、记住我功能实现方法和安全做法
2015/04/27 PHP
php求数组全排列,元素所有组合的方法总结
2017/03/14 PHP
PHP简单验证码功能机制实例详解
2019/03/27 PHP
学习YUI.Ext基础第一天
2007/03/10 Javascript
JS 参数传递的实际应用代码分析
2009/09/13 Javascript
基于json的jquery地区联动效果代码
2011/07/06 Javascript
基于jQuery的360图片展示实现代码
2012/06/14 Javascript
jquery实现相册一下滑动两次的方法
2015/02/09 Javascript
浅析Bootstrap组件之面板组件
2016/05/04 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
2017/02/28 Javascript
Node.js Mongodb 密码特殊字符 @的解决方法
2017/04/11 Javascript
VUE接入腾讯验证码功能(滑块验证)备忘
2019/05/07 Javascript
js闭包的9个使用场景
2020/12/29 Javascript
python基础教程之简单入门说明(变量和控制语言使用方法)
2014/03/25 Python
从零学python系列之浅谈pickle模块封装和拆封数据对象的方法
2014/05/23 Python
Python中List.index()方法的使用教程
2015/05/20 Python
Python只用40行代码编写的计算器实例
2017/05/10 Python
Python使用django搭建web开发环境
2017/06/09 Python
matplotlib实现显示伪彩色图像及色度条
2019/12/07 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
2020/06/03 Python
PyCharm中关于安装第三方包的三个建议
2020/09/17 Python
Python之字典添加元素的几种方法
2020/09/30 Python
Python Socket多线程并发原理及实现
2020/12/11 Python
HTML5的结构和语义(4):语义性的内联元素
2008/10/17 HTML / CSS
Bally巴利中国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/10/09 全球购物
linux面试题参考答案(9)
2016/01/29 面试题
院党委组织查摆问题对照检查材料思想汇报2014
2014/10/08 职场文书
优秀教师先进材料
2014/12/16 职场文书
2015年新农合工作总结
2015/03/30 职场文书
酒店销售经理岗位职责
2015/04/02 职场文书
团队拓展训练心得体会
2016/01/12 职场文书
教你如何用python开发一款数字推盘小游戏
2021/04/14 Python
详解如何使用Node.js实现热重载页面
2021/05/06 Javascript
浅谈Python基础之列表那些事儿
2021/05/11 Python