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 相关文章推荐
javascript针对DOM的应用分析(三)
Apr 15 Javascript
jquery无缝向上滚动实现代码
Mar 29 Javascript
JS实现同时搜索百度和必应的方法
Jan 27 Javascript
JS动态修改iframe内嵌网页地址的方法
Apr 01 Javascript
javascript实现的网站访问量统计代码
Dec 20 Javascript
实现点击下箭头变上箭头来回切换的两种方法【推荐】
Dec 14 Javascript
详解网站中图片日常使用以及优化手法
Jan 09 Javascript
vue拦截器Vue.http.interceptors.push使用详解
Apr 22 Javascript
layui 解决form表单点击无反应的问题
Oct 25 Javascript
vue使用原生swiper代码实例
Feb 05 Javascript
微信小程序实现简单的select下拉框
Nov 23 Javascript
jquery实现点击左右按钮切换图片
Jan 27 jQuery
详解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
《被神捡到的男人》动画化计划进行中!
2020/03/06 日漫
PHP抽象类 介绍
2012/06/13 PHP
PHP数组游标实现对数组的各种操作详解
2016/01/26 PHP
PHP中new static()与new self()的比较
2016/08/19 PHP
php使用socket调用http和smtp协议实例小结
2019/07/26 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
教你如何自定义百度分享插件以及bshare分享插件的分享按钮
2014/06/20 Javascript
超详细的JS弹出窗口代码大全
2020/04/18 Javascript
easyui form validate总是返回false的原因及解决方法
2016/11/07 Javascript
微信小程序实战之自定义抽屉菜单(7)
2017/04/18 Javascript
bootstrap-table组合表头的实现方法
2017/09/07 Javascript
12条写出高质量JS代码的方法
2018/01/07 Javascript
Bootstrap 中data-[*] 属性的整理
2018/03/13 Javascript
微信小程序scroll-view实现字幕滚动
2018/07/14 Javascript
10分钟彻底搞懂Http的强制缓存和协商缓存(小结)
2018/08/30 Javascript
vue-cli 使用vue-bus来全局控制的实例讲解
2018/09/15 Javascript
js利用iframe实现选项卡效果
2020/08/09 Javascript
动感网页相册 python编写简单文件夹内图片浏览工具
2016/08/17 Python
详解python里的命名规范
2018/07/16 Python
Flask核心机制之上下文源码剖析
2018/12/25 Python
python 实现查找文件并输出满足某一条件的数据项方法
2019/06/12 Python
python支持多线程的爬虫实例
2019/12/21 Python
10个python爬虫入门实例(小结)
2020/11/01 Python
python eventlet绿化和patch原理
2020/11/21 Python
CSS3对背景图片的裁剪及尺寸和位置的设定方法
2016/03/07 HTML / CSS
CSS3 实现童年的纸飞机
2019/05/05 HTML / CSS
专营店会计助理岗位职责
2013/11/29 职场文书
银行实习生的自我评价
2013/12/09 职场文书
宝宝周岁宴答谢词
2014/01/26 职场文书
《美丽的南沙群岛》教学反思
2014/04/27 职场文书
医药销售自荐书
2014/05/29 职场文书
2014年销售员工作总结
2014/12/01 职场文书
贴吧吧主申请感言
2015/08/03 职场文书
消防安全培训工作总结
2015/10/23 职场文书
python tkinter模块的简单使用
2021/04/07 Python
分享一个vue实现的记事本功能案例
2022/04/11 Vue.js