php+jquery+ajax实现抽奖系统模块代码如下:
首页在抽奖前需要将所有人员的参与名单在屏幕上滚动显示,所以就用jquery实现了,
1. 参与名单将放在一个txt文件里面,我将放到 phones.txt:
首先用ajax读取读取数据:
<script type="text/javascript">
$(document).ready(function(){
var phones;
var list_phones = '';
$.ajax({
url: './get_set.php',
type: 'POST',
dataType: 'text',
data: {'action' : 'get'},
success: function(data){
if(data && data != ''){
phones = data;
phones = phones.split(',');
//开始将参与名单滚动
for(var j=0; j<phones.length; j++){
list_phones += phones[j] + '<br />';
}
var list_content = $('<div />').addClass('list-div').css({'position' : 'relative', 'top' : 0}).html(list_phones);
$('#list-phones').append(list_content);
//alert($('#list-phones').html());
//alert($('.list-div').height());
}
}
});
//list-phones : height=3162 - 200;
var list_phones_h = 0;
var list_start = setInterval(
function(){
if(parseInt($('.list-div').position().top) < -2962){
$('.list-div').animate({top : 0});
list_phones_h = 0;
}
$('.list-div').animate({top : '-' + list_phones_h + 'px'}, function(){list_phones_h+=34;});
}, 1000
);
var start;
//中奖名单
var $s = '';
//奖项
var jx;
//是否开始
var flag = false;
$('#start').click(function(){
start_chou();
});
$('#stop').click(function(){
stop_chou();
});
$(window).bind('keydown', function(event){
if(event.keyCode === 32){
!flag ? start_chou() : stop_chou();
}
});
//开始抽奖
function start_chou(){
if(phones.length == 0){
$('#texes').val('error: 都抽完了,没有可参与的抽奖名单了!');
$('#current').val('');
return;
}
//关闭滚动
clearInterval(list_start);
$('#list-phones').detach();
jx = $("input[name='jx']:checked").val();
if(!jx || jx == ''){
$('#texes').val('您还没有设置本次抽奖奖项!');
return;
}
if(!flag){
//alert(jx);
$('#current').val('');
$('#texes').val('正在随机抽取,请耐心等待......');
flag = true;
setTimeout(function(){
start = setInterval(function(){
$('#rrss').val(function(){
var len = phones.length;
var rand = Math.floor(Math.random() * len);
//console.log(rand);
return phones[rand];
});
$('#current').val(Math.floor(Math.random() * 100000000000000000));
},1);
}, 500);
}
}
//停止抽奖
function stop_chou(){
if(flag){
flag = false;
clearInterval(start);
$('#current').val($('#rrss').val());
if(jx === 'tex'){
$s += '特等奖: ' + $('#current').val() + ',';
$('#texes').val('特等奖!');
}else if(jx === 'one'){
$s += '一等奖: ' + $('#current').val() + ',';
$('#texes').val('一等奖!');
}else if(jx === 'two'){
$s += '二等奖: ' + $('#current').val() + ',';
$('#texes').val('二等奖!');
}else if(jx === 'three'){
$s += '三等奖: ' + $('#current').val() + ',';
$('#texes').val('三等奖!');
}else{
$s += '';
$('#texes').val('您还没有设置本次抽奖奖项!');
}
//本次抽奖完成后,自动移出本次获奖名单,不参与之后的抽奖
getIndex(phones, $('#current').val());
//将获奖名单写入到rs.txt文件中,记录获奖名单
set($s);
//alert($s);
}
}
function getIndex(arr, val){
var index = -1;
for(var i=0; i<arr.length; i++){
if(arr[i] == val)
index = i;
}
arr.splice(index, 1);
//alert(index);
}
//将中奖信息写入
function set(rs){
$.ajax({
url : 'get_set.php',
type: 'POST',
dataType: 'text',
data: {'action' : 'set', 'rs' : rs},
success: function(data){return true;}
});
}
$(document).ready(function(){
$(window).bind('keydown', function(event){
if(event.keyCode === 37 || event.keyCode === 38){
window.location.href = 'index.html';
}
});
});
});
</script>get_set.php文件直接读取phones.txt文件,将参与名单用“,”连接成字符串,然后利用js的Array split方法分隔成数组. 抽奖时是显示一些随机数字,跳动时间为10ms。
立即学习“PHP免费学习笔记(深入)”;
QCMS企业建站系统是通过MVC架构开发的一套PHP轻量级系统,开源,小巧,易用,功能强大、可以自定义模块,容易二次开发,可以称得上是万能CMS系统,可用于企业站,文章站,图片站,下载站,你只要能想得到,就能做的到。 QCMS V6.0.0 主要功能描述特色说明: 简单易用的模板标签,是我们系统的核心组成部分,系统对SEO更友好,源代码全部开放,毫无保留! 1 内容模块有 ,新
0
get_set.php:
<?php
if(isset($_POST['action']) && $_POST['action'] == 'get'){
$file = './phones.txt';
$phones = '';
if(file_exists($file) && is_readable($file)){
$phones = file_get_contents($file);
$phones = preg_replace('/\r\ns*/', ',', $phones);
}else{
die('phones.txt文件不存在或者不可读');
}
Echo $phones;
/* Echo '<pre class="brush:php;toolbar:false;">';
print_r($phones); */
//Echo $phones;
}
if(isset($_POST['action']) && $_POST['action'] == 'set'){
$rs = $_POST['rs'];
$data = str_replace(',', "
", $rs);
$file = './rs.txt';
file_put_contents($file, $data);
return true;
}
?>中奖的名单将自动写入到 rs.txt文件,而且中奖后将不再参与下一轮抽奖。
开始抽奖(或者 按 Space空格键开始/停止)
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号