js脚本编写简单刷票投票系统


Posted in Javascript onJune 27, 2017

本文实例为大家分享了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>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS分割字符串并放入数组的函数
Jul 04 Javascript
js设置cookie过期及清除浏览器对应名称的cookie
Oct 24 Javascript
javascript正则匹配汉字、数字、字母、下划线
Apr 10 Javascript
director.js实现前端路由使用实例
Feb 03 Javascript
javascript动画算法实例分析
Jul 31 Javascript
jquery实现删除一个元素后面的所有元素功能
Dec 21 Javascript
常用的js验证和数据处理总结
Aug 02 Javascript
JS实现简单易用的手机端浮动窗口显示效果
Sep 07 Javascript
jQuery修改DOM结构_动力节点Java学院整理
Jul 05 jQuery
从零开始在NPM上发布一个Vue组件的方法步骤
Dec 20 Javascript
JS中FormData类实现文件上传
Mar 27 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
May 28 Javascript
详解Vue.js搭建路由报错 router.map is not a function
Jun 27 #Javascript
详解vue.js的事件处理器v-on:click
Jun 27 #Javascript
Vue.js学习记录之在元素与template中使用v-if指令实例
Jun 27 #Javascript
Vue.js常用指令之循环使用v-for指令教程
Jun 27 #Javascript
js获取地址栏参数的两种方法
Jun 27 #Javascript
React组件之间的通信的实例代码
Jun 27 #Javascript
JS实现图片预览的两种方式
Jun 27 #Javascript
You might like
mysql时区问题
2008/03/26 PHP
php 调用远程url的六种方法小结
2009/11/02 PHP
php中strstr、strrchr、substr、stristr四个函数的区别总结
2014/09/22 PHP
Laravel 5.0 发布 新版本特性详解
2015/02/10 PHP
php判断并删除空目录及空子目录的方法
2015/02/11 PHP
thinkPHP5框架接口写法简单示例
2019/08/05 PHP
laravel 框架执行流程与原理简单分析
2020/02/01 PHP
div浮层,滚动条移动,位置保持不变的4种方法汇总
2013/12/11 Javascript
javascript面向对象特性代码实例
2014/06/12 Javascript
js实现在网页上简单显示时间的方法
2015/03/02 Javascript
jQuery表单美化插件jqTransform使用详解
2015/04/12 Javascript
简介JavaScript中的sub()方法的使用
2015/06/08 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
canvas 实现中国象棋
2017/02/17 Javascript
[01:46]辉夜杯—打造中国DOTA新格局
2015/12/25 DOTA
[01:59]翻天覆地,因你而变,7.20版本地图更新速览
2018/11/24 DOTA
python读写二进制文件的方法
2015/05/09 Python
Python结巴中文分词工具使用过程中遇到的问题及解决方法
2017/04/15 Python
python多进程控制学习小结
2018/10/31 Python
python批量创建指定名称的文件夹
2019/03/21 Python
Python这样操作能存储100多万行的xlsx文件
2019/04/16 Python
详解pytorch 0.4.0迁移指南
2019/06/16 Python
Flask框架模板渲染操作简单示例
2019/07/31 Python
Python实现时间序列可视化的方法
2019/08/06 Python
Python实现线性判别分析(LDA)的MATLAB方式
2019/12/09 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
python实现扫雷游戏的示例
2020/10/20 Python
加拿大票务网站:Ticketmaster加拿大
2017/07/17 全球购物
环保志愿者活动方案
2014/08/14 职场文书
2014年园林绿化工作总结
2014/12/11 职场文书
世界遗产导游词
2015/02/13 职场文书
酒店前台接待岗位职责
2015/04/02 职场文书
深度学习详解之初试机器学习
2021/04/14 Python
Mysql Online DDL的使用详解
2021/05/20 MySQL
python 实现图与图之间的间距调整subplots_adjust
2021/05/21 Python
Java实战之用Swing实现通讯录管理系统
2021/06/13 Java/Android