返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JS旋转实现转盘抽奖效果
  • 490
分享到

JS旋转实现转盘抽奖效果

2024-04-02 19:04:59 490人浏览 泡泡鱼
摘要

本文实例为大家分享了js旋转实现转盘抽奖效果的具体代码,供大家参考,具体内容如下 闲来没事,做了一个模拟转盘抽奖的html&JS的效果: 可以在设置的时候,选择几个区域,并

本文实例为大家分享了js旋转实现转盘抽奖效果的具体代码,供大家参考,具体内容如下

闲来没事,做了一个模拟转盘抽奖的html&JS的效果:

可以在设置的时候,选择几个区域,并且可以填写指针将要停止的区域

比如,我选择了"区域2",结果就是这样

具体可以见下面的源码:(注意,这里JQ文档没有贴出来,需要自行引入)

HTML文件:

<!DOCTYPE html>
<html>

    <head>
        <meta charset="utf-8" />
        <title></title>
        <style>
            #RotationDiv {
                
                transfORM: rotate(180deg);
                -ms-transform: rotate(180deg);
                -moz-transform: rotate(180deg);
                -WEBkit-transform: rotate(180deg);
                -o-transform: rotate(180deg);
                width: 60px;
                height: 85px;
                
                
            }
        </style>
        <!--引入jq1.8-->
        <script src="js/Jquery-1.8.3.js" type="text/javascript" charset="utf-8"></script>
        <!--引入旋转的js-->
        <script src="js/rotation-index.js" type="text/javascript" charset="utf-8"></script>
        <script type="text/javascript">
            function rotationDiv(num) {
                RotationIndex("RotationDiv", 8, num, 4, 5)
            }
        </script>
    </head>

    <body>
        <div style="height: 85px;">
            <table align="center">
                <tr>
                    <td><input type="button" value="选择区域:1" οnclick="rotationDiv(1)" />
                        <input type="button" value="选择区域:2" οnclick="rotationDiv(2)" />
                        <input type="button" value="选择区域:3" οnclick="rotationDiv(3)" />
                        <input type="button" value="选择区域:4" οnclick="rotationDiv(4)" />
                        <input type="button" value="选择区域:5" οnclick="rotationDiv(5)" />
                        <input type="button" value="选择区域:6" οnclick="rotationDiv(6)" />
                        <input type="button" value="选择区域:7" οnclick="rotationDiv(7)" />
                        <input type="button" value="选择区域:8" οnclick="rotationDiv(8)" /></td>
                </tr>
            </table>
        </div>
        <table align="center" style="background-image: url(img/revolveBgImage.png); width: 500px;height: 500px;">
            <tr>
                <td colspan="3"></td>
            </tr>
            <tr>
                <td style="width: 220px;">
                </td>
                <td>
                    <div id="RotationDiv"><img src="img/timg.png" width="100%" /></div>
                </td>
                <td style="width: 220px;"></td>
            </tr>
            <tr>
                <td colspan="3"></td>
            </tr>
        </table>
    </body>

</html>

自己写的旋转的JS文件:


function RotationIndex(indexID, areaNum, wantToStop, defaultTime, chageTime) {

    var stopAreaNum = 0; //停在区域的名字数
    var areaArr = new Array(areaNum);
    var angle = 1; //每次旋转角度
//    var randomTime = Math.random() * 1500; //随机时间
    var nowTime = 0; //当前时间,随机起点,让停止来的更加真实
    var disTime = 15; //时间差值,每15毫秒改变一次,基本上类似于60Hz刷新频率
    var disangle = 13; //角度差值
    var angle360 = 0; //用于记录角度数,360°范围的

    var UP = (1 - ((12 / chageTime) * defaultTime)); //定义一个函数uniformizing parameter
    var IPFP = 12 * defaultTime + (12 / chageTime) * defaultTime * defaultTime; //定义一个反比例函数的参数Inverse proportional function parameters

    var myIntervalInRotationIndex = window.setInterval(function() {
        nowTime += disTime;
        //当时间小于默认时间时候
        if((nowTime / 1000) <= defaultTime) {
            //匀速旋转
        } else if((nowTime / 1000) > defaultTime && (nowTime / 1000) < (defaultTime + chageTime)) {
            //当时间大于默认时间,开始减速旋转
            disangle = UP + (IPFP / (nowTime / 1000));
            
        } else {
            angle360 = angle % 360;
            stopAreaNum = angle360 / (360 / areaNum);
            if(stopAreaNum >= (wantToStop - 1.5)) {
                disangle = 0.3;
            } else if(stopAreaNum >= (wantToStop - 1)) {
                disangle = 0.5;
            } else {
                disangle = 0.8;
            }
            if(stopAreaNum >= (wantToStop - 0.8) && stopAreaNum <= wantToStop) {
                window.clearInterval(myIntervalInRotationIndex);
            }

        }
        angle360 = angle % 360;
        angle += disangle;
        $("#" + indexID).attr("style", "transform:rotate(" + angle + "deg);-ms-transform:rotate(" + angle + "deg);-moz-transform:rotate(" + angle + "deg);-webkit-transform:rotate(" + angle + "deg);-o-transform:rotate(" + angle + "deg);")
    }, disTime)

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: JS旋转实现转盘抽奖效果

本文链接: https://lsjlt.com/news/140246.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JS旋转实现转盘抽奖效果
    本文实例为大家分享了JS旋转实现转盘抽奖效果的具体代码,供大家参考,具体内容如下 闲来没事,做了一个模拟转盘抽奖的HTML&JS的效果: 可以在设置的时候,选择几个区域,并...
    99+
    2024-04-02
  • js实现转盘抽奖功能
    本文实例为大家分享了js实现转盘抽奖功能的具体代码,供大家参考,具体内容如下 效果:点击抽奖按钮,转盘开始旋转数圈后停止 示例: 抽奖html代码: <!DOCTYPE htm...
    99+
    2024-04-02
  • iOS实现新年抽奖转盘效果的思路
    临近春节,相信不少app都会加一个新的需求——新年抽奖 不多废话,先上GIF效果图 DEMO链接 跑马灯效果 抽奖效果 实现步骤: 一、跑马灯效果 其实很简单,就是通过以下两...
    99+
    2022-05-24
    iOS 抽奖转盘
  • JS+Canvas绘制抽奖转盘
    本文实例为大家分享了JS+Canvas绘制抽奖转盘的具体代码,供大家参考,具体内容如下 给大家分享一个Canvas绘制的转盘抽奖,点击开关开始转动时,转盘开始转动,转盘停止时指针指向...
    99+
    2024-04-02
  • VUE实现大转盘抽奖
    目录UI初始参考各值参考图方案分析-参数配置核心思路:关于旋转位置参数配置实现逻辑组件使用抽奖效果结语UI 老规矩,先看下静态UI,以便于有个图像概念 初始参考各值参考图 方案...
    99+
    2024-04-02
  • js如何实现抽奖效果
    小编给大家分享一下js如何实现抽奖效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!效果图:代码如下:<!DOCTYPE&...
    99+
    2024-04-02
  • vue实现大转盘抽奖功能
    本文实例为大家分享了vue实现大转盘抽奖的具体代码,供大家参考,具体内容如下 效果图如下 中奖提示 代码如下 <template>   <div class="...
    99+
    2024-04-02
  • Android实现抽奖转盘实例代码
    本文详述了android抽奖程序的实现方法,程序为一个抽奖大转盘代码,里面定义了很多图形方法和动画。 实现主要功能的SlyderView.java源代码如下: import ...
    99+
    2022-06-06
    抽奖转盘 Android
  • html+css+js实现带有转盘的抽奖小程序
    html+css+js实现带有转盘的抽奖小程序 简介:html+css+js实现带有转盘的抽奖小程序。 效果展示 抽奖方式: 飞镖 飞镖制作成飞机的模样,没人的号码用黄色标签做成云朵模样黏贴在背景板上,年会背景板缓缓移动,飞扎中的名字得奖...
    99+
    2023-08-16
    javascript html css
  • 怎么使用jQuery旋转插件jqueryrotate制作转盘抽奖
    这篇文章主要为大家展示了“怎么使用jQuery旋转插件jqueryrotate制作转盘抽奖”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么使用jQuery旋转...
    99+
    2024-04-02
  • 原生js实现旋转木马效果
    本文实例为大家分享了js实现旋转木马效果的具体代码,供大家参考,具体内容如下 html部分 <div class="wrap" id="wrap">     <di...
    99+
    2024-04-02
  • vue实现简单转盘抽奖功能
    本文实例为大家分享了vue实现简单转盘抽奖的具体代码,供大家参考,具体内容如下 样式请大家忽略(自己调),主要看JS代码实现,点击按钮后调用start方法,判断是否在转动状态,如果...
    99+
    2024-04-02
  • 如何实现Jquery转盘抽奖程序
    这篇文章主要介绍了如何实现Jquery转盘抽奖程序,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。基于Jquery的Javascript转盘抽...
    99+
    2024-04-02
  • 如何实现纯CSS3大转盘抽奖
    这篇文章给大家分享的是有关如何实现纯CSS3大转盘抽奖的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。HTML<section class="gb-whe...
    99+
    2024-04-02
  • 怎么用CSS实现一个抽奖转盘
    这篇文章主要介绍“怎么用CSS实现一个抽奖转盘”,在日常操作中,相信很多人在怎么用CSS实现一个抽奖转盘问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用CSS实现一个抽奖...
    99+
    2024-04-02
  • vue如何实现大转盘抽奖功能
    这篇文章主要为大家展示了“vue如何实现大转盘抽奖功能”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue如何实现大转盘抽奖功能”这篇文章吧。效果图如下中奖提示代码如下<template&...
    99+
    2023-06-29
  • JavaScript实现抽奖器效果
    本文实例为大家分享了JavaScript实现抽奖器效果的具体代码,供大家参考,具体内容如下 这次实现的效果如下图: 所实现的功能是:当每次点击中间的抽奖按钮时,会随机选择一个盒子作...
    99+
    2024-04-02
  • jquery实现九宫格大转盘抽奖功能
    本篇内容主要讲解“jquery实现九宫格大转盘抽奖功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“jquery实现九宫格大转盘抽奖功能”吧! 一、用...
    99+
    2024-04-02
  • vue怎么实现简单转盘抽奖功能
    本篇内容介绍了“vue怎么实现简单转盘抽奖功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!样式请大家忽略(自己调),主要看JS代码实现,点...
    99+
    2023-06-29
  • Redis 抽奖大转盘的实战示例
    目录1. 项目介绍2. 项目演示3. 表结构4. 项目搭建4.1 依赖4.2 YML配置4.3 代码生成4.4 Redis 配置4.5 常量管理4.6 业务代码4.7 总结5. 项目...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作