zoukankan      html  css  js  c++  java
  • 我与酷车中国:投票系统

    公司要办车模大赛,需要投票系统。

    任务分下来后,就考虑:1.要有投票对象,就是要参赛的车模

    2.投票系统要能重复使用,不要这次车大赛后,投票系统就要高搁了。

    3.要实现较好的用户体验,和限时投票。决定用jQuery+Ajax实现投票。

    功能设计:活动+参赛者+评论+投票+参赛相册展示

    数据库设计略去

    Js代码

    代码
    //loading
    function loading(){
        var width 
    = 60,height = 60;
        $(
    "body").append("<div id='loading_box' style='" + width + "px;height:" + height + "px; line-height:" + height + "px;align:center; position:absolute; border:solid 1px #ccc; vertical-align:middle; padding-top:6px; background-color:White;'><img src='/images/loader.gif' ></div>");
        setCenter(
    'loading_box',width,height)

    }
    function updateLoading(message){
        var box 
    = $("#loading_box");
        
    if(arguments.length == 3){//参数有三个,后两个为宽和高
            setCenter('loading_box',arguments[1],arguments[2])
            box.css({arguments[
    1]+"px",height:arguments[2]+"px"});
        }
        box.html(message);
        
    //关闭窗口
            box.fadeOut(1000,function(){
               $(
    this).remove();
             });
    }
    //设置居中
    function setCenter(box,width,height){
        var _version 
    = $.browser.version;
        var    cw 
    = document.documentElement.clientWidth,ch = document.documentElement.clientHeight,est = document.documentElement.scrollTop; 
        
    if ( _version == 6.0 ) {
            $(
    "#" + box).css({left:"50%",top:(parseInt((ch)/2)+est)+"px",marginTop: -((parseInt(height)+53)/2)+"px",marginLeft:-((parseInt(width)+32)/2)+"px",zIndex: "999999"});
        }
    else {
            $(
    "#" + box).css({left:"50%",top:"50%",marginTop:-((parseInt(height)+53)/2)+"px",marginLeft:-((parseInt(width)+32)/2)+"px",zIndex: "999999"});
        };
    }

    function Vote(id,t){
       
        var voteTime 
    = Cookies.get("vote_" + id);
        
    if(voteTime != ''){
            var voteDate 
    = new Date(voteTime);
            var curDate 
    = new Date();
        //此外设计的意思是,投一次票后,5分钟后可以再次投票
            var d 
    = voteDate.getTime() -curDate.getTime()  + 5*60*1000;
             
    if(d > 0)
             {
                var m 
    = Math.floor(d/60000); 
                var s 
    = Math.floor((d-m*60000)/1000); 
                alert(
    "该选手您已经投过票了,稍等" + m + "" + s + "" + "后您可以再次投票!");
             }
            
    else
            {
                
    //投票
                ajaxVote(id);
            }

        }
    else{
            
    //第一次投票
            ajaxVote(id);
        }
    }
     function ajaxVote(id,t){
          loading();
          
    //ajax提交数据
          $.post("/Tools/Ajax.aspx", { type: "vote", id: id,vt:t },
          function(data){
            
    if(data == "0"){
               updateLoading(
    "系统出错,请稍后再试",280,60);
            }
    else{
               updateLoading(
    "恭喜您,投票成功。五分钟后可再次投票 ^-^",280,60);
               Cookies.
    set("vote_" + id,new Date());
               
    //更新投票个数
               var v =  $("#lab_Vote_" + data);
              
    if(v.text() == ""){
                    v.text(
    "1");
              }
    else{
                    v.text(Math.floor(v.text()) 
    + 1);
              }
            }
          });
     }

     详细请见http://www.kuchechina.com/zhuanti/wdml/

  • 相关阅读:
    AC自动机模板
    输入输出外挂(整数)
    前同事通过接私活年入60W,他常用19个私活平台汇总!
    通用分页存储过程
    单品流向
    口令对照表
    连接字符串大全
    各搜索引擎登记入口
    moto手机软件收集
    resin在线客户系统
  • 原文地址:https://www.cnblogs.com/zhuyue/p/1775289.html
Copyright © 2011-2022 走看看