本文实例为大家分享了js刷票投票系统的具体代码,供大家参考,具体内容如下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<head>
<title>投票系统 & js脚本简单刷票</title>
<style type="text/css">
* {
padding: 0;
margin: 0;
}
#wrap {
margin: 0 auto;
width: 600px;
text-align: center;
}
.person {
position: relative;
margin: 20px;
float: left;
}
.person h4,
.person p,
.person button {
margin-bottom: 5px;
}
.person h4 {
color: blue;
}
.person span {
color: red;
}
.person button:hover {
cursor: pointer;
font-weight: bold;
}
.clear {
clear: both;
}
</style>
</head>
<body>
<div id="wrap">
<h3>给你的小伙伴投上一票吧</h3>
<div class="person">
<h4>one</h4>
<p>总票数: <span>0</span> 票</p>
<button>给它投票</button>
</div>
<div class="person">
<h4>two</h4>
<p>总票数: <span>0</span> 票</p>
<button>给它投票</button>
</div>
<div class="person">
<h4>three</h4>
<p>总票数: <span>0</span> 票</p>
<button>给它投票</button>
</div>
<div class="person">
<h4>four</h4>
<p>总票数: <span>0</span> 票</p>
<button>给它投票</button>
</div>
<div class="clear"></div>
</div>
</body>
<script type="text/javascript">
function getElemensByClassName(className) { // 通过class获取
var classArr = new Array();
var tags = document.getElementsByTagName("*"); //获取所有节点
console.log(tags[0].nodeType)
for(var item in tags) {
if(tags[item].nodeType == 1) {
if(tags[item].getAttribute("class") == className) {
classArr.push(tags[item]); //收集class匹配的节点
}
}
}
return classArr;
}
function delete_FF(element) { // 在FireFox中删除子节点为空的元素
var childs = element.childNodes;
for(var i = 0; i < childs.length; i++) {
var pattern = /\s/; //模式匹配,内容为空
if(childs[i].nodeName == "#text" && pattern.test(childs[i].nodeValue)) { //处理
//alert(childs[i].nodeName);
element.removeChild(childs[i]); //删除FF中获取的空节点
}
}
}
window.onload = function() {
var persons = getElemensByClassName("person");
// alert(persons);
for(var item in persons) { //遍历所有person,为它们绑定投票事件
(function(_item) { //匿名函数传入item, 防止因作用域问题导致item总为最后一个
delete_FF(persons[_item]); //出去FF中空行代表的子节点
persons[_item].setAttribute("id", "person" + (parseInt(_item) + 1)); //赋上id
var childs = persons[_item].childNodes;
for(var i = 0; i < childs.length; i++) {
//alert(childs[i].nodeName);
if(childs[i].nodeName == "BUTTON") { //点击按钮投票
var oButton = childs[i];
}
if(childs[i].nodeName == "P") { //投票结果更新
var oP = childs[i];
var oSpan = oP.getElementsByTagName("span")[0];
}
}
if(oButton != null) {
oButton.onclick = function() { //事件绑定
var num = oSpan.innerHTML; //获取票数
oSpan.innerHTML = (++num); //票数更新
// 这时一般我们可能就需要把这个票数num传送给服务器保存,更新时也是和服务器中的num同步
this.setAttribute("disabled", "true"); // 一般只能投票一次的吧
alert("投票成功,谢谢您的支持");
};
}
})(item); // 传入各项person
}
javascript:(function(url) {
var s = document.createElement('script');
s.src = url;
(document.getElementsByTagName('head')[0] ||
document.getElementsByTagName('body')[0]).appendChild(s);
})('http://code.jquery.com/jquery-2.1.3.js');
brushVotes(); // 刷票
$("#person3>p>span").bind('DOMNodeInserted', function(e) { //three改变则 触发
brushVotes(); //继续刷票
});
function brushVotes(){ //刷票函数
var t = setInterval(function(){
var three_num = $("#person3>p>span").text(); //three票数
var two_num = $("#person2>p>span").text(); // two票数
console.info(two_num+" "+three_num);
if(two_num - three_num < 5){ //要保持领先5票的优势
$("#person2>button").click().attr("disabled",false); //触发投票的事件click,投完后记得把投票权限拿回来
}
if(two_num - three_num == 5){ //5票领先了就此打住
clearInterval(t);
}
},2000);
}
};
</script>
</html>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# js
# 刷票
# 投票
# JS异步堆栈追踪之为什么await胜过Promise
# Java动态追踪技术探究之从JSP到Arthas
# JS/HTML5游戏常用算法之追踪算法实例详解
# 详解VueJS 数据驱动和依赖追踪分析
# JavaScript错误处理和堆栈追踪详解
# 使用Raygun来自动追踪AngularJS中的异常
# JS脚本实现网页自动秒杀点击
# 基于JS脚本语言的基础语法详解
# 如何用JS追踪用户
# 给它
# 总票数
# 绑定
# 为空
# 您的
# 投票系统
# 遍历
# 一票
# 大家分享
# 完后
# 具体内容
# 大家多多
# 小伙伴
# 投票结果
# 和服务
# 器中
# px
# align
# width
# center
相关文章:
建站10G流量真的够用吗?如何应对访问高峰?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
广州建站公司哪家好?十大优质服务商推荐
小说建站VPS选用指南:性能对比、配置优化与建站方案解析
简历在线制作网站免费版,如何创建个人简历?
北京网站制作网页,网站升级改版需要多久?
微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?
怎么将XML数据可视化 D3.js加载XML
标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?
装修招标网站设计制作流程,装修招标流程?
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?
建站主机默认首页配置指南:核心功能与访问路径优化
如何在搬瓦工VPS快速搭建网站?
安徽网站建设与外贸建站服务专业定制方案
相册网站制作软件,图片上的网址怎么复制?
潮流网站制作头像软件下载,适合母子的网名有哪些?
如何在阿里云虚拟主机上快速搭建个人网站?
如何在阿里云香港服务器快速搭建网站?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
网站制作网站,深圳做网站哪家比较好?
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何通过商城自助建站源码实现零基础高效建站?
制作门户网站的参考文献在哪,小说网站怎么建立?
婚礼视频制作网站,学习*后期制作的网站有哪些?
宁波自助建站系统如何快速打造专业企业网站?
如何通过免费商城建站系统源码自定义网站主题与功能?
开封网站制作公司,网络用语开封是什么意思?
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
定制建站方案优化指南:企业官网开发与建站费用解析
建站之星导航菜单设置与功能模块配置全攻略
如何用AWS免费套餐快速搭建高效网站?
如何确认建站备案号应放置的具体位置?
Android使用GridView实现日历的简单功能
公司门户网站制作流程,华为官网怎么做?
C++中引用和指针有什么区别?(代码说明)
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
高防服务器:AI智能防御DDoS攻击与数据安全保障
建站之星如何优化SEO以实现高效排名?
如何通过VPS建站无需域名直接访问?
高性能网站服务器配置指南:安全稳定与高效建站核心方案
高配服务器限时抢购:企业级配置与回收服务一站式优惠方案
定制建站如何定义?其核心优势是什么?
建站之星如何开启自定义404页面避免用户流失?
如何通过二级域名建站提升品牌影响力?
Python lxml的etree和ElementTree有什么区别
西安专业网站制作公司有哪些,陕西省建行官方网站?
建站上市公司网站建设方案与SEO优化服务定制指南
再谈Python中的字符串与字符编码(推荐)
建站之星收费标准详解:套餐费用及年费价格表一览
*请认真填写需求信息,我们会在24小时内与您取得联系。