在好例子网,分享、交流、成长!
您当前所在位置:首页js 开发实例高级JavaScript组件 → Jquery写的幸运大转盘抽奖实例,用asp.net处理的服务器逻辑,附源码下载

Jquery写的幸运大转盘抽奖实例,用asp.net处理的服务器逻辑,附源码下载

高级JavaScript组件

下载此实例
  • 开发语言:js
  • 实例大小:1.14M
  • 下载次数:326
  • 浏览次数:6355
  • 发布时间:2013-04-13
  • 实例类别:高级JavaScript组件
  • 发 布 人:crazycode
  • 所需积分:2
 相关标签: jQuery 大转盘

实例介绍

【实例简介】

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

【实例截图】


【核心代码】

客户端代码:

 

        $(".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;
        }
    }

}


 

标签: jQuery 大转盘

实例下载地址

Jquery写的幸运大转盘抽奖实例,用asp.net处理的服务器逻辑,附源码下载

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

第 1 楼 yhb_spring 发表于: 2013-08-09 13:39 19
我来说两句...不错,就是没有积分了,怎么办啊!!

支持(0) 盖楼(回复)

第 2 楼 zhaoqiujun 发表于: 2014-02-14 11:50 40
很好的东西啊,就是没积分!!

支持(0) 盖楼(回复)

第 3 楼 taosion 发表于: 2014-02-22 21:11 57
不知道如何 看来不错

支持(0) 盖楼(回复)

第 4 楼 tshuachuang 发表于: 2014-10-27 12:51 25
很好,有帮助

支持(0) 盖楼(回复)

第 5 楼 bbq123 发表于: 2014-11-03 14:12 50
看起来不错的样子

支持(0) 盖楼(回复)

第 6 楼 lucier5501 发表于: 2015-01-14 10:36 39
没有dll

支持(0) 盖楼(回复)

第 7 楼 563813130 发表于: 2015-03-03 15:47 01
我来说两句...不错不错i的例子

支持(0) 盖楼(回复)

第 8 楼 592223997 发表于: 2015-03-04 18:38 59
浏览器不兼容

支持(0) 盖楼(回复)

第 9 楼 国企天下 发表于: 2015-03-08 08:31 00
许多类都没有啊。

支持(0) 盖楼(回复)

第 10 楼 Haliput 发表于: 2015-04-27 13:28 35
我也来说两句吧。

支持(0) 盖楼(回复)

第 11 楼 华为EMUI 发表于: 2015-09-09 05:51 40
我来说两句...听说评论有积分

支持(0) 盖楼(回复)

第 12 楼 lifuye870613687 发表于: 2015-09-17 10:12 55
我来说两句...东西不错 下载来看看 学习一下

支持(0) 盖楼(回复)

第 13 楼 蓝天乌云 发表于: 2015-10-15 11:02 33
积分不够啊,怎么办

支持(0) 盖楼(回复)

第 14 楼 407489589 发表于: 2015-12-12 14:16 47
好东西,没积分下载不了啊

支持(0) 盖楼(回复)

第 15 楼 407489589 发表于: 2015-12-12 14:16 52
好东西,没积分下载不了啊

支持(0) 盖楼(回复)

第 16 楼 yagaping 发表于: 2016-03-03 16:33 22
无奈没积分啊

支持(0) 盖楼(回复)

第 17 楼 yagaping 发表于: 2016-03-03 16:33 42
无奈没积分啊

yagaping 2016-03-03 16:33 22

怎么获得积分啊

支持(0) 盖楼(回复)

第 18 楼 zhuanz 发表于: 2016-04-06 11:01 21
源码都不完整发上来干什么,骗积分吗????

支持(0) 盖楼(回复)

第 19 楼 1231234321 发表于: 2016-11-09 14:44 46
坑爹,Model和BLL都没有,其他的几个类都没有完全,骗积分吗?投诉!

支持(0) 盖楼(回复)

发表评论

(您的评论需要经过审核才能显示)

查看所有19条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
;
报警