基本信息
源码名称:Jquery写的幸运大转盘抽奖实例,用asp.net处理的服务器逻辑,附源码下载
源码大小:1.14M
文件格式:.rar
开发语言:js
更新时间:2013-04-13
   友情提示:(无需注册或充值,赞助后即可获取资源下载链接)

     嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300

本次赞助数额为: 2 元 
   源码介绍

该幸运大转盘抽奖实例已实现服务器端的业务逻辑代码,稍加改动就可以应用实际了


客户端代码:

 

        $(".jfRulebtn").hover(function () {
            $(this).addClass("active");
        }, function () {
            $(this).removeClass("active");
        });
        var theurl = window.location.href;

        //加载日期开始
        var myDate = new Date();
        var mytime = myDate.toLocaleDateString();
        var Week = ['日', '一', '二', '三', '四', '五', '六'];
        var strday = ' 星期'   Week[myDate.getDay()];
        $(".left_date").html("Date:"   mytime   " "   strday);
        //加载日期结束

        $.ajax({

            url: "ajaxGetPoint.ashx",
            dataType: 'json',
            timeout: 10000,
            cache: false,
            success: function (data) {

                if (data.status == 0) {
                    $(".jfDetail").html("<a style=' padding-left:20px;'  href='../login.aspx?return=dial/index.html' target='_top'>亲爱的用户,请登录</a>");
                }
                else {
                    $(".jfDetail").html("亲爱的会员:<span>"   data.login   "</span>(<span id='Inpointer'>"   data.point   "</span>)");
                }
            }
        });
        $.ajax({
            url: "awardsInfo.ashx",
            dataType: 'html',
            timeout: 10000,
            cache: false,
            success: function (json) {
                $("#su1").html(json);
            }
        });

        window.onload = function () {
            setTimeout(function () {
                var pros;
                function $_for(id) { return document.getElementById(id); }
                $_for("su2").innerHTML = $_for("su1").innerHTML;
                var suLen = $_for("su1").getElementsByTagName("li").length;
                var suH = suLen * 24;
                function scrollUps() {
                    var tt = 50
                    if ($_for("suP").scrollTop <= suH) {
                        $_for("suP").scrollTop  ;
                    }
                    else {
                        $_for("suP").scrollTop = 0;
                    }
                    pros = setTimeout(function () { scrollUps(); }, tt);
                }
                scrollUps();
            }, 5000)
        }


        //var Prize = {Name:["肌龄端粒酶舒润整肌水(滋润)40ml","静佳Jcare天使爱美丽蜂蜜修护细纹抗皱面膜(28ml×1pc)","静佳Jplus薰衣草精油 3ml","静佳Jplus大马士革玫瑰水润天丝面膜单片装30ml","静佳品牌通用券10元券(满百减十7日内有效)","很遗憾,没中奖","乐蜂全场10元券(满两百减十7日内有效)","JMIXP心情面膜·柔滑紧致果纤面膜(25ml*1)","静佳JCARE地中海绿藻锁水蚕丝隐形面膜 30ml*1","静佳JcareHAKO100微肽玻尿酸胶原蛋白胶囊 450mg×120粒(原装德国进口)","静佳Jplus 玫瑰润颜嫩白花酿面膜(保湿 美白)110g","很遗憾,没中奖"]};

        var ctxs = 15;
        var getVal, getstate, awardname = "", getData = 0;
        var duixiang;
        function begin() {
            $(".contentLZhuanBtn span").html("");
            $.ajax({
                url: "ajaxLottery.ashx",
                dataType: 'json',
                timeout: 10000,
                error: function () {
                    debugger;
                    //alert("服务器没有返回数据,可能服务器忙,请重试");
                    $("#layer1").css("display", "block");
                    $(".contentLZhuanBtn span").html("<a href='###' class='start' onclick='begin()'></a>");
                    $("#signLet").html("服务器繁忙,请稍后重试");
                },
                cache: false,
                success: function (data) {
                    getVal = $.trim(data.award_index);
                    //  alert(data.result);
                    getstate = data.result;
                    if (getstate == -3) {
                        $("#layer1").css("display", "block");
                        $(".contentLZhuanBtn span").html("<a href='###' class='start' onclick='begin()'></a>");
                        $("#signLet").html("今天您已参加美丽转盘,感谢您的参与");
                    }
                    else if (getstate == -2) {
                        //alert("请登录");
                        $("#layer1").css("display", "block");
                        $(".contentLZhuanBtn span").html("<a href='###' class='start' onclick='begin()'></a>");
                        $("#signLet").html("<a href='../login.aspx?return=dial/index.html' target='_top'><img src='logins.jpg' /></a>");
                    }
                    else if (getstate == -1) {
                        //alert("您的美丽币不足");
                        $("#layer1").css("display", "block");
                        $("#signLet").html("您的美丽币不足无法参加本次活动<br />请去<a href='../index.aspx' target='_blank'>商城</a>购物赚取更多美丽币哦!");
                        //$(".contentLZhuanBtn span").html("");
                    }
                    else {
                        if (getstate == 1) {
                            awardname = $.trim(data.award_name);
                        }
                        $(".contentLZhuanBtn span").html("<a href='###' class='stop' onclick='end()'></a>");
                        //var Intime = $("#Inpointer").html();
                        var Intime = parent.document.getElementById("Inpointer").innerHTML;
                        if (Intime >= 5) {
                            $("#Inpointer").html(Intime - 5);
                            parent.document.getElementById("Inpointer").innerHTML = Intime - 5;
                        }
                        getData = ctxs   getVal * 30;
                        t = setInterval(function () {
                            doRotate();
                            if (vvcount > 100) {
                                end();                             
                            }
                        }, 30);

                    }
                }
            });
        }
        function closeLayer() {
            $("#layer2").css("display", "none");
            angle = 0;
            rotate();
            el.style.top = 332 - (el.offsetHeight / 2)   "px";
            el.style.left = 332 - (el.offsetWidth / 2)   "px";
        }
        function closeLayer1() {
            $("#layer1").css("display", "none");
        }
        function showLayer1() {
            $("#layer1").css("display", "block");
            $("#signLet").html("您的美丽币不足无法参加本次活动<br />请去<a href='../index.aspx' target='_blank'>商城</a>购物赚取足够美丽币!");
        }
        function goOn() {
            if (getstate == -1) {
                $(".contentLZhuanBtn span").html("<a href='###' class='start' onclick='showLayer1()'></a>");
            }
            else {
                $(".contentLZhuanBtn span").html("<a href='###' class='start' onclick='begin()'></a>");
            }
        }
        /*
        奇数:(n-1)*(n-1)/2-(n-1)/2;
        偶数:(n-1)*(n/2-1);
        */
        //var getData=ctxs getVal*30;
        var iNum, data;
        var el = document.getElementById("aDiv");
        var angle = 0, angles = 0;
        var pi = Math.PI;
        function degToRad(x) { return (x / (360 / (2 * pi))); }
        function radToDeg(x) { return (x * (360 / (2 * pi))); }
        function rotate() {
            var rad = degToRad(angle);
            costheta = Math.cos(rad);
            sintheta = Math.sin(rad);
            //var el = document.getElementById(name);
            if (el.filters) {
                el.style.filter = "progid:DXImageTransform.Microsoft.Matrix()";
                el.filters.item("DXImageTransform.Microsoft.Matrix").SizingMethod = "auto expand";
                el.filters.item("DXImageTransform.Microsoft.Matrix").FilterType = "bilinear";
                el.filters.item("DXImageTransform.Microsoft.Matrix").M11 = costheta;
                el.filters.item("DXImageTransform.Microsoft.Matrix").M12 = -sintheta;
                el.filters.item("DXImageTransform.Microsoft.Matrix").M21 = sintheta;
                el.filters.item("DXImageTransform.Microsoft.Matrix").M22 = costheta;
            }
            else if (window.navigator.userAgent.indexOf("Firefox") >= 1) {
                el.style.MozTransform = "rotate("   angle   "deg)";
            }
            else if (window.navigator.userAgent.indexOf("Chrome") >= 1) {
                el.style.WebkitTransform = "rotate("   angle   "deg)";
            }
            else if (window.navigator.userAgent.indexOf("Safari") >= 1) {
                el.style.WebkitTransform = "rotate("   angle   "deg)";
            }
            else if (window.navigator.appName == "Opera") {
                el.style.OTransform = "rotate("   angle   "deg)";
            }

        }
        var l = 0, iAcc = 1;
        var vvcount = 1;
        function doRotate() {
            iAcc  ;
            vvcount  ;
            if (iAcc >= 50) {
                iAcc = 50;
            }
            angle  = iAcc;
            rotate();
            el.style.top = 332 - (el.offsetHeight / 2)   "px";
            el.style.left = 332 - (el.offsetWidth / 2)   "px";
        }
        var t, z, ts, hh;
        /*function endsp(o){
        end();
        o.disabled = "disabled";
        }*/
        function end() {
            vvcount = 1;
            $(".contentLZhuanBtn span").html("");
            doRotate();
            clearInterval(t);
            iNum = iAcc * (iAcc   1) / 2;
            data = angle - iAcc   iNum;
            ts = data % 360;
            if (ts > getData) {
                hh = 360 - ts   getData;
            }
            else {
                hh = getData - ts;
            }
            angle  = hh;
            z = setInterval(function () {

                iAcc--;
                angle  = iAcc;
                rotate();
                el.style.top = 332 - (el.offsetHeight / 2)   "px";
                el.style.left = 332 - (el.offsetWidth / 2)   "px";
                if (iAcc == 0) {

                    clearInterval(z);
                    if (getstate == 1 || getstate == 3 || getstate == 5 || getstate == 8 || getstate == 10) {
                        $("#layer2").css("display", "block").attr("class", "jifenMsg");
                        $("#b_info").html(awardname);
                    }
                    else {
                        $("#layer2").css("display", "block").attr("class", "jifenMsgs");
                        $("#listNameBox").html(awardname);
                    }
                }
            }, 50)
        }      
  

服务器端代码:

 

<%@ WebHandler Language="C#" Class="ajaxLottery" %>

using System;
using System.Web;

public class ajaxLottery : IHttpHandler
{

    public void ProcessRequest(HttpContext context)
    {


        string result = "-2";//-3活动已结束 -2请登录 -1您的积分不足 指定某个数字为没中奖(5) 其他情况返回1
        string award_index = "0";//指定奖品代表的数字。
        string award_name = "";//中奖名称

        //判断登录,进行操作
        if (HttpContext.Current.Request.Cookies["uid"] != null)
        {
            string struid = HttpContext.Current.Request.Cookies["uid"].Value;
            result = "1";//已登录       
            Random ro = new Random();
            string strNum = "";
            //
            for (int i = 0; i < 12; i  )
            {
                for (int j = 0; j < getJcount(i); j  )
                {
                    strNum  = (i   ",");
                }
            }
            int gl = ro.Next(0, 1200);

            Model.Members m = new BLL.Members().GetModel(int.Parse(struid));

            System.Data.DataSet dscount = new LSDL.BLL.Score().GetList(" descs like '%"   DateTime.Now.ToShortDateString()   "%' and [type] = '转盘消费' and uid= "   struid);
            if (dscount.Tables[0].Rows.Count > 0)
            {
                result = "-3";
            }
            else
            {

                if (m.UserScore < 5)
                {
                    result = "-1";
                }
                else
                {
                    //转盘消费5美丽币            
                    LSDL.Model.Score model = new LSDL.Model.Score();
                    model.type = "转盘消费";
                    model.uid = int.Parse(struid);
                    model.pid = 0;
                    model.num = 1;
                    model.score = "-"   5;
                    model.descs = DateTime.Now.ToString()   " 参加美丽大转盘 使用美丽币:"   model.score;
                    model.desc1 = HttpContext.Current.Request.Cookies["username"].Value;
                    model.desc2 = "";
                    model.desc3 = "";
                    LSDL.BLL.Score bll = new LSDL.BLL.Score();
                    bll.Add(model);
                    //美丽币操作 扣除美丽币
                    new BLL.Members().UpdateScoreByMIdid(struid, Pic.getScore(model.score));

                    award_index = strNum.Split(',')[gl].ToString();
                    award_name = GetName(award_index);//指定奖品名字。
                }
            }
        }
        string json = string.Format(
              "{{ \"result\":{0}, \"award_index\":{1}, \"award_name\":\"{2}\" }}", result, award_index, award_name);


        context.Response.Cache.SetCacheability(System.Web.HttpCacheability.
                        NoCache);
        context.Response.ContentType = "application/json";
        context.Response.Write(json);

    }

    public int getJcount(int i)
    {
        if (i == 0 || i == 6)
        {
            return 24;
        }
        else if (i == 1 || i == 3 || i == 5 || i == 8 || i == 10)
        {
            return 225;
        }
        else if (i == 2)
        {
            return 12;
        }
        else if (i == 4)
        {
            return 1;
        }
        else if (i == 7)
        {
            return 12;
        }
        else if (i == 9)
        {
            return 2;
        }
        return 0;
    }

    public string get(string pwdchars, int pwdlen)
    {
        string tmpstr = "";
        int iRandNum;
        Random rnd = new Random();
        for (int i = 0; i < pwdlen; i  )
        {
            iRandNum = rnd.Next(pwdchars.Length);
            tmpstr  = pwdchars[iRandNum];
        }
        return tmpstr;
    }
    public string GetName(string index)
    {
        string struid = HttpContext.Current.Request.Cookies["uid"].Value;
        if (index == "0")
        {
            string str_score = "100";
            GetJP(struid, str_score);
            return "100美丽币";
        }
        else if (index == "1")
        {
            return "别灰心,明天再试";
        }
        else if (index == "2")
        {
            GetGoods(struid, "品牌祛痘精华");
            return "品牌祛痘精华";
        }
        else if (index == "3")
        {
            return "很遗憾,差点中奖";
        }
        else if (index == "4")
        {
            string str_score = "1000";
            GetJP(struid, str_score);
            return "1000美丽币";
        }
        else if (index == "5")
        {
            return "很遗憾,差点中奖";
        }
        else if (index == "6")
        {
            string str_score = "100";
            GetJP(struid, str_score);
            return "100美丽币";
        }
        else if (index == "7")
        {
            GetGoods(struid, "品牌祛痘精华");
            return "品牌祛痘精华";
        }
        else if (index == "8")
        {
            return "别灰心,明天再试";
        }
        else if (index == "9")
        {
            string str_score = "500";
            GetJP(struid, str_score);
            return "500美丽币";
        }
        else if (index == "10")
        {
            return "很遗憾,没中奖,再接再厉";
        }
        else if (index == "11")
        {
            GetGoods(struid, "Iphone5");
            return "Iphone5";
        }
        return "很遗憾,没中奖";
    }
    //获得美丽币
    private static void GetJP(string struid, string str_score)
    {
        //转盘获得美丽币  
        LSDL.Model.Score model = new LSDL.Model.Score();
        model.type = "转盘获得积分";
        model.uid = int.Parse(struid);
        model.pid = 0;
        model.num = 1;
        model.score = str_score;
        model.descs = DateTime.Now.ToString()   " 参加美丽大转盘 获得美丽币:"   model.score;
        model.desc1 = HttpContext.Current.Request.Cookies["username"].Value;
        model.desc2 = str_score   "美丽币";
        model.desc3 = "";
        LSDL.BLL.Score bll = new LSDL.BLL.Score();
        bll.Add(model);
        //美丽币操作 
        new BLL.Members().UpdateScoreByMIdid(struid, Pic.getScore(model.score));
    }

    //获得商品
    private static void GetGoods(string struid, string str_pro)
    {
        //转盘获得美丽币  
        LSDL.Model.Score model = new LSDL.Model.Score();
        model.type = "转盘获得商品";
        model.uid = int.Parse(struid);
        model.pid = 0;
        model.num = 1;
        model.score = "0";
        model.descs = DateTime.Now.ToString()   " 参加美丽大转盘 获得:"   str_pro;
        model.desc1 = HttpContext.Current.Request.Cookies["username"].Value;
        model.desc2 = str_pro;
        model.desc3 = "";
        LSDL.BLL.Score bll = new LSDL.BLL.Score();
        bll.Add(model);
    }
    public bool IsReusable
    {
        get
        {
            return false;
        }
    }

}