起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 15387|回复: 10

[处理中3] 九宫格抽奖轮播效果js代码应该怎么写

[复制链接]

15

主题

78

帖子

117

积分

初级会员

Rank: 2

积分
117
QQ
发表于 2018-7-4 15:19:29 | 显示全部楼层 |阅读模式
版本: 小版本号:
数据库: 服务器操作系统: 应用服务器:
客户端操作系统: 浏览器:
九宫格抽奖轮播效果js代码应该怎么写,怎么跟web网页js代码不一样,求大神指导实现js代码

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2018-7-4 16:24:20 | 显示全部楼层
/UI2/demo/taobao/main.w中上面的轮播效果?
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

15

主题

78

帖子

117

积分

初级会员

Rank: 2

积分
117
QQ
 楼主| 发表于 2018-7-5 09:02:50 | 显示全部楼层
不是淘宝上面的三张图片的轮播效果,是九宫格抽奖活动,点击中间开始抽奖,然后就跟跑马灯一样,js代码用web的js不好用,有类似抽奖的js代码吗
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2018-7-5 09:28:02 | 显示全部楼层
平台没有提供这样的,就是标准的js的实现
不好用可以代码调试看具体到什么地方不好用的
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

15

主题

78

帖子

117

积分

初级会员

Rank: 2

积分
117
QQ
 楼主| 发表于 2018-7-5 13:04:51 | 显示全部楼层
web网页js代码能加入到wex5里面实现吗?
回复 支持 反对

使用道具 举报

91

主题

13万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
35920
发表于 2018-7-5 13:30:49 | 显示全部楼层
html中可以实现的,x5中基本上都可以
远程的联系方法QQ1392416607,添加好友时,需在备注里注明其论坛名字及ID,公司等信息
发远程时同时也发一下帖子地址,方便了解要解决的问题  WeX5教程  WeX5下载



如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

15

主题

78

帖子

117

积分

初级会员

Rank: 2

积分
117
QQ
 楼主| 发表于 2018-7-5 14:26:07 | 显示全部楼层
回复 支持 反对

使用道具 举报

15

主题

78

帖子

117

积分

初级会员

Rank: 2

积分
117
QQ
 楼主| 发表于 2018-7-5 14:27:50 | 显示全部楼层
define(function(require){
        var $ = require("jquery");
        var justep = require("$UI/system/lib/justep");

        var Model = function(){
                this.callParent();
        };
  <script src="js/jquery.min.js"></script>
  <script>
        var luck={
                index:0,        //当前转动到哪个位置,起点位置
                count:0,        //总共有多少个位置
                timer:0,        //setTimeout的ID,用clearTimeout清除
                speed:20,        //初始转动速度
                times:0,        //转动次数
                cycle:50,        //转动基本次数:即至少需要转动多少次再进入抽奖环节
                prize:-1,        //中奖位置
                init:function(id){
                        if ($("#"+id).find(".luck-unit").length>0) {
                                $luck = $("#"+id);
                                $units = $luck.find(".luck-unit");
                                this.obj = $luck;
                                this.count = $units.length;
                                $luck.find(".luck-unit-"+this.index).addClass("active");
                        };
                },
+
               
                roll:function(){
                        var index = this.index;
                        var count = this.count;
                        var luck = this.obj;
                        $(luck).find(".luck-unit-"+index).removeClass("active");
                        index += 1;
                        if (index>count-1) {
                                index = 0;
                        };
                        $(luck).find(".luck-unit-"+index).addClass("active");
                        this.index=index;
                        return false;
                },
                stop:function(index){
                        this.prize=index;
                        return false;
                }
        };


        function roll(){
                luck.times += 1;
                luck.roll();
                if (luck.times > luck.cycle+10 && luck.prize==luck.index) {
                        clearTimeout(luck.timer);
                        luck.prize=-1;
                        luck.times=0;
                        click=false;
                }else{
                        if (luck.times<luck.cycle) {
                                luck.speed -= 10;
                        }else if(luck.times==luck.cycle) {
                                var index = Math.random()*(luck.count)|0;
                                if(index>5){
                                        index = 7;
                                }else {
                                        index = 5;
                                }
                                luck.prize = index;//最终中奖位置
                        }else{
                                if (luck.times > luck.cycle+10 && ((luck.prize==0 && luck.index==7) || luck.prize==luck.index+1)) {
                                        luck.speed += 110;
                                }else{
                                        luck.speed += 20;
                                }
                        }
                        if (luck.speed<40) {
                                luck.speed=40;
                        };

                        luck.timer = setTimeout(roll,luck.speed);
                }
                return false;
        }


        var click=false;
        window.onload=function(){
                luck.init('luck');
                $("#btn").click(function(){
                        /*//按下弹起效果
                        $("#btn").addClass("cjBtnDom");
                        setTimeout(function(){       
                                $("#btn").removeClass("cjBtnDom");
                        },200);*/

                       
                        if(click) {
                                return false;
                        }
                        else{
                                luck.speed=100;
                                roll();
                                click=true;
                                return false;
                        }

                });
        };
        //播报
        var demo = document.getElementById("demo");
        var demo1 = document.getElementById("demo1");
        var demo2 = document.getElementById("demo2");
        demo2.innerHTML=document.getElementById("demo1").innerHTML;
        function Marquee(){
                if(demo.scrollLeft-demo2.offsetWidth>=0){
                        demo.scrollLeft-=demo1.offsetWidth;
                }
                else{
                        demo.scrollLeft++;
                }
        }
        setInterval(Marquee,10);

</script>
        return Model;
});

这样段代码该怎么修改,功能已经写好,就是怎么把这段代码插入到js里面
回复 支持 反对

使用道具 举报

15

主题

78

帖子

117

积分

初级会员

Rank: 2

积分
117
QQ
 楼主| 发表于 2018-7-5 14:28:56 | 显示全部楼层
前端页面都已经写好了,就是功能实现不了
回复 支持 反对

使用道具 举报

15

主题

78

帖子

117

积分

初级会员

Rank: 2

积分
117
QQ
 楼主| 发表于 2018-7-5 14:29:15 | 显示全部楼层
前端页面都已经写好了,就是功能实现不了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-4 10:16 , Processed in 0.077430 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表