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 相关文章推荐
Pro JavaScript Techniques学习笔记
Dec 28 Javascript
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
Jan 14 Javascript
Node.js和PHP根据ip获取地理位置的方法
Mar 14 Javascript
JS图片自动轮换效果实现思路附截图
Apr 30 Javascript
基于jQuery实现的向下滑动二级菜单效果代码
Aug 31 Javascript
jQuery实现自动输入email、时间和域名的方法
Aug 24 Javascript
js常用的继承--组合式继承
Mar 06 Javascript
Vue表单验证插件的制作过程
Apr 01 Javascript
vue实现导航栏效果(选中状态刷新不消失)
Dec 13 Javascript
Vue开发Html5微信公众号的步骤
Apr 11 Javascript
vue仿淘宝滑动验证码功能(样式模仿)
Dec 10 Javascript
vue中解决微信html5原生ios虚拟键返回不刷新问题
Oct 20 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 is_file()和is_dir()用于遍历目录时用法注意事项
2010/03/02 PHP
PHP中数组定义的几种方法
2013/09/01 PHP
PHP输出英文时间日期的安全方法(RFC 1123格式)
2014/06/13 PHP
ThinkPHP之R方法实例详解
2014/06/20 PHP
php计算函数执行时间的方法
2015/03/20 PHP
PHP读书笔记_运算符详解
2016/07/01 PHP
用prototype实现的简单小巧的多级联动菜单
2007/03/24 Javascript
url 编码 js url传参中文乱码解决方案
2010/04/11 Javascript
获取dom元素那些讨厌的位置封装代码
2010/06/23 Javascript
jquery监控数据是否变化(修正版)
2011/04/12 Javascript
jQuery之ajax技术的详细介绍
2013/06/19 Javascript
JavaScript获取多个数组的交集简单实例
2013/11/11 Javascript
tangram框架响应式加载图片方法
2013/11/21 Javascript
Jquery 获取指定标签的对象及属性的设置与移除
2014/05/29 Javascript
简单谈谈Javascript中类型的判断
2015/10/19 Javascript
jQuery表格插件datatables用法详解
2020/11/23 Javascript
分享网页检测摇一摇实例代码
2016/01/14 Javascript
Javascript将数字转化成为货币格式字符串
2016/06/22 Javascript
实例解析js中try、catch、finally的执行规则
2017/02/24 Javascript
解析NodeJS异步I/O的实现
2017/04/13 NodeJs
基于vue配置axios的方法步骤
2017/11/09 Javascript
深入理解Angular4订阅(Subscribe)与取消
2017/11/22 Javascript
如何安装控制器JavaScript生成插件详解
2018/10/21 Javascript
JavaScript 判断iPhone X Series机型的方法
2019/01/28 Javascript
简单说说如何使用vue-router插件的方法
2019/04/08 Javascript
JS左右无缝轮播功能完整实例
2019/05/16 Javascript
微信小程序实现消息框弹出动画
2020/04/18 Javascript
JS插件amCharts实现绘制柱形图默认显示数值功能示例
2019/11/26 Javascript
如何通过Proxy实现JSBridge模块化封装
2020/10/22 Javascript
python获取文件真实链接的方法,针对于302返回码
2018/05/14 Python
Django框架HttpResponse对象用法实例分析
2019/11/01 Python
Pytorch通过保存为ONNX模型转TensorRT5的实现
2020/05/25 Python
让IE支持HTML5的方法
2012/12/11 HTML / CSS
金额转换,阿拉伯数字的金额转换成中国传统的形式如:(¥1011)-> (一千零一拾一元整)输出
2015/05/29 面试题
2015年端午节活动方案
2015/05/05 职场文书
IDEA中sout快捷键无效问题的解决方法
2022/07/23 Java/Android