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 相关文章推荐
新页面打开实际尺寸的图片
Aug 25 Javascript
使用jQuery UI的tooltip函数修饰title属性的气泡悬浮框
Jun 24 Javascript
JS 实现导航栏悬停效果(续)
Sep 24 Javascript
基于angular2 的 http服务封装的实例代码
Jun 29 Javascript
简单的Vue异步组件实例Demo
Dec 27 Javascript
JS设计模式之状态模式概念与用法分析
Feb 05 Javascript
vue-cli axios请求方式及跨域处理问题
Mar 28 Javascript
vue多次循环操作示例
Feb 08 Javascript
jQuery实现高度灵活的表单验证功能示例【无UI】
Apr 30 jQuery
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
May 18 Javascript
详解JavaScript中的链式调用
Nov 27 Javascript
jquery自定义组件实例详解
Dec 31 jQuery
微信小程序去除左上角返回键的实现方法
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连接Oracle for NT 远程数据库
2006/10/09 PHP
PHP函数超时处理方法
2016/02/14 PHP
PHP实现的XXTEA加密解密算法示例
2018/08/28 PHP
复制小说文本时出现的随机乱码的去除方法
2010/09/07 Javascript
javascript之bind使用介绍
2011/10/09 Javascript
精心挑选的15款优秀jQuery 本特效插件和教程
2012/08/06 Javascript
基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
2014/05/11 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
jquery自定义插件——window的实现【示例代码】
2016/05/06 Javascript
深入浅出讲解ES6的解构
2016/08/03 Javascript
easyui combotree加载静态数据问题(选不上)解决方法
2016/12/26 Javascript
JavaScript用JSONP跨域请求数据实例详解
2017/01/06 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
在angular 6中使用 less 的实例代码
2018/05/13 Javascript
Vue 打包体积优化方案小结
2020/05/20 Javascript
深入解读VUE中的异步渲染的实现
2020/06/19 Javascript
[02:05]2014DOTA2西雅图邀请赛 老队长全明星大猜想谁不服就按进显示器
2014/07/08 DOTA
在Python的web框架中配置app的教程
2015/04/30 Python
python socket多线程通讯实例分析(聊天室)
2016/04/06 Python
python计算auc指标实例
2017/07/13 Python
Python使用Matplotlib实现Logos设计代码
2017/12/25 Python
Python解析Excle文件中的数据方法
2018/10/23 Python
python 接收处理外带的参数方法
2018/12/03 Python
python文件选择对话框的操作方法
2019/06/27 Python
基于pytorch中的Sequential用法说明
2020/06/24 Python
如何使用css3实现一个类在线直播的队列动画的示例代码
2020/06/17 HTML / CSS
amazeui模态框弹出后立马消失并刷新页面
2020/08/19 HTML / CSS
英语专业学生的自我评价
2013/12/30 职场文书
社区党总支书记先进事迹材料
2014/01/24 职场文书
销售经理工作职责
2014/02/03 职场文书
2014年廉洁自律承诺书
2014/05/26 职场文书
土建施工员岗位职责
2014/07/16 职场文书
2014教师“四风问题”对照检查材料思想汇报
2014/09/16 职场文书
2016春季小学开学寄语
2015/12/03 职场文书
2016年第二十届“母亲节暨幸福工程救助贫困母亲活动日”活动总结
2016/04/06 职场文书
python实现简单倒计时功能
2021/04/21 Python