JavaScript实现狂欢舞动的小球

纯CSS3炫酷3D星空动画特效 效果:源码:<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> &a 阅读详情

狂欢舞动的小球效果(也就一个html代码):


代码(html):

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>滚动的小球</title>
    <style>
        *{
            padding: 0;
            margin: 0;
        }
        body,html{
            height: 100%;
            background-color: navajowhite;
        }
        body{
            position: relative;
        }
        div{
            border-radius: 50%;
            position: absolute;
        }

    </style>
</head>
<body>
<script>
    //页面有20个小球
    for(var i=0;i<20;i++){
        creatRandomBall(document.body);
    }
    /*
    * div 是要让他成每个div都会镜面反弹
    * 这个函数的作用就是实现单个div的镜面反弹效果
    * */
    function move(div) {
    //div所需的最大left和最大top的值
        var maxleft = div.parentElement.offsetWidth - div.offsetWidth;
        console.log(div.parentElement.offsetWidth);
        var maxtop = div.parentElement.offsetHeight - div.offsetHeight;
        var directionX = 1;
        var directionY = 1;
        var speedX = randomNum(1,5);
        var speedY = randomNum(1,5);

        setTimeout(function step() {
            //设置移动的属性
            div.style.left = div.offsetLeft + speedX * directionX+"px";
            div.style.top = div.offsetTop + speedY * directionY+"px";
            console.log(div.style.left);
            //判断碰到两头边缘改变direction的值
            //这里div.offsetLeft <= 0要小于等于0,找了一个多小时,好心痛啊
            if(div.offsetLeft >= maxleft || div.offsetLeft <= 0){
                directionX *= -1;
            }
            if(div.offsetTop >= maxtop || div.offsetTop <= 0){
                directionY *= -1;
            }

            setTimeout(step,10);
        },0);
    }
    /*
    * 创建一个元素,随机位置,随机颜色,随机宽高
    * 然后把他传给指定的父容器
    * */
    function creatRandomBall(parent) {
        var div = document.createElement("div");
        var wh = randomNum(5,120);
        div.style.width = wh+"px";
        div.style.height = wh+"px";

        div.style.left = randomNum(0,parent.offsetWidth - wh)+"px";
        div.style.top = randomNum(0,parent.offsetHeight - wh)+"px";
        div.style.backgroundColor = "rgba("+randomNum(0,255)+","+randomNum(0,255)+","+randomNum(0,255)+","+Math.random()+")";
        parent.appendChild(div);
        move(div);
    }
    /*随机函数最后是+n */
    function randomNum(n,m) {
        return parseInt(Math.random()*(m-n+1)+n);
    }
</script>
</body>
</html>

jQuery实现左右完美滑动的轮播图效果 要实现左右完美无缝对接,最后一张的处理至关重要。效果预览(只展示几秒,文件gif太大):源码:&lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;淘宝滑动轮播案例&lt;/title&gt; &l 阅读详情

相关推荐

原生JS实现缓动的小球案例

缓动的小球:就是当鼠标移动到小球内,小球随着鼠标的移动,小球跟着移动,而且小球会有很多,跟随者第一个小球接着运动。要实现这样的效果也就是要有以下的操作:1.小球的缓存移动其实就是有很多小球(div),他们每个小球的出发点和目的点都是一样的,只是控制间隔时间再运动。2.再用for循环分别获取到每个小球,使每次读取到的i(数组下标)和间隔的一个关系:50*i.要移动div形成美丽的变化,其实每个div...

LY_code的博客 4291

js实现弹球效果

通过学习的js,来实现一个小球在一个容器内无限弹的效果。 1.首先创建一个盒子,和一个小球。 <div id="box"> <div id="ball"></div> </div> 2.然后设置他们的样式(包括定位,颜色,大小) <style> #box { width: 800px; height: 500px; posit

The Patriot的博客 1141

一些入门的编程题(JS实现)

1. 在页面上输出100到1000之间既是3的倍数又是5的倍数的数字。2. 鸡兔同笼:鸡和兔子一共35只,笼子里一共有94只脚,用程序计算出鸡和兔子分别多少只3. 计算两个数的最大公约数和最小公倍数。4. 求1!+2!+3!+...+10!的和。5. 对一个整数分解质因数。例如: 90 = 2 * 3 * 3 * 56. 在页面中显示出所有的"水仙花数",所谓"水仙花数"是指一个三位数, 其各位数...

LY_code的博客 4213

使用CSS3实现3D小球动画效果

注意,这个示例只是一个基本的3D小球动画效果,你可以根据需要调整动画的具体参数,比如弹跳的高度、旋转的速度和方向等。同时,你也可以尝试添加更多的3D变换效果,比如。动画来创建一个3D小球动画效果。下面是一个简单的示例,展示了一个沿着Z轴旋转并同时上下弹跳的3D小球动画。来使动画无限循环并在每次迭代后反向运行,你也可以根据需要调整这些参数。来同时实现弹跳和旋转效果。在动画的关键帧中,我们使用了。类定义了一个红色的圆形div,然后使用CSS动画。等,来创建更复杂的3D动画效果。来实现上下弹跳效果,使用。

王铁柱666的博客 425

jQuery实现小米购物车功能案例

效果图:修改:在购物车显示数量一栏没有文本居中(只需添加两步):step1:在新增的div中的input增加一个类"&lt;input type='text' size='3' readonly value='1' class='inputTextCenter'/&gt; "+step2:在CSS样式为类添加样式.inputTextCenter{ text-align: center; }...

LY_code的博客 4168

AJAX实现图灵机器人聊天

首先,搜索图灵机器人,在图灵机器人注册一个账号,然后新建一个机器人,获得一个key就可以了,这样就可以聊天了。关键是你在图灵机器人新建生成的key:key=9257afd24a374c69b91eeb687d463763 这段代码是复制的,从你新建那里得到。 另外我用的是版本一:(post的第一个参数url)http://www.tuling123.com/openapi/api当然你可以用图灵的...

LY_code的博客 3430

js-实现小球的曲线运动(正弦,余弦和正切运动 )

这里的曲线运动,我们可以实现正弦sin,余弦cos和正切tan,三种曲线运动,只需要将我们代码中的: y=startY - Math.sin(x * 2 * Math.PI / 360)*200; 这串代码中的Math.sin,转换成相应的值就可以了。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>小球曲线运动(sin)</title> <!-

老衲的少女心i~ 1354

jQuery实现“多Tab切换效果"

&lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;多Tab切换案例&lt;/title&gt; &lt;style&gt; * { margin:

LY_code的博客 3131

javascript实现鼠标划过出现舞动的图片

javascript实现鼠标划过出现舞动的图片 var st = 0; function f1() { st++; switch(st) { case  1: document.getElementById("a1").style.display="block"; document.getElementById("a1").style.top=fff(); documen

mengtian21的专栏 626

JavaScript字符串的练习

所有都定义函数==1. 传入任意字符串,统计字符串中的大写字母个数、小写字母个数、数字个数、其他字符个数。------2. 反转字符串.   传入:"iOS Android HTML5 Java"   返回:"avaJ 5LMTH diordnA SOi"------3. 去除字符串首尾空格.(写一个自定义的 trim 函数)------4. 创建一个长度为5-10, 内容为数字字母下滑线的随机字...

LY_code的博客 2909

一些利用递归思想的简单编程题(JS实现)

1. 使用递归函数计算1+2+...100的值。2. 定义函数,宰相的麦子:相传古印度宰相达依尔,是国际象棋的发明者。   有一次,国王因为他的贡献要奖励他,问他想要什么。   达依尔说:“只要在国际象棋棋盘上(共64格)摆上这么些麦子就行了:   第一格一粒,第二格两粒,……,后面一格的麦子总是前一格麦子数的两倍,   摆满整个棋盘,我就感恩不尽了。”国王一想,这还不容易,刚想答应,   如果你...

LY_code的博客 2673

JavaScript的数组练习

1. 读取学生的10门课的成绩, 然后输出10门课成绩的最高分, 最低分, 总分, 平均分.   提示:把10门课的成绩保存如一个数组中.2. 创建100个随机的10到60的随机整数, 然后分别统计每个数字出现的次数3. 定义一个函数, 判断数组中是否所有的数字都大于0    提示: 传入一个数组, 返回布尔值4. 封装函数: 把两个数组共同的元素放入一个新的数组, 并返回新的数组    提示: ...

LY_code的博客 9975

一些简单的编程题(函数应用练习)

1. 定义函数,输入3个参数,求和。-----2. 定义函数,输入年份,判断年份是否是闰年------3. 定义函数,打印1999--2050年中间所有的闰年。------4. 定义函数,输入一个日期,判断该日期是否合法;例如:输入 2015-2-29不合法。------5. 定义函数,用最好的排序法进行排序数列。------1.&lt;!DOCTYPE html&gt; &lt;html lan...

LY_code的博客 1976

你真的会用搜索引擎吗?能写出好论文、找到好工作的那种

学习、生活和工作难免要在网上找资料:找论文找电子书找电影找我们想要的一切然而在工作中,大部分人并不能正确使用搜索引擎。无论是实习生还是一些职场老鸟,资料的搜索能力可以说都是很重要的一个核心竞争力。可以这么说,能否在最短的时间内搜索到自己最需要的资料,决定了你的学习速度、工作效率、进步情况。虽然网络上充斥了大量的搜索引擎技巧,但大部分都是和搜索指令相关的。实际上,在搜索引擎的使用中,指令可能并不能起...

LY_code的博客 3703

用JavaScript实现打地鼠游戏

源代码:&lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Title&lt;/title&gt; &lt;style&gt; * { padding: 0; margin: 0; } .wra

LY_code的博客 1966

基于 Qt 6 / C++17 的多算法加解密工具(学习研究用途) 涵盖编码、古典密码、对称/非对称加密、哈希摘要共 24 种算法,全部纯 C++ 自实现,不依赖 OpenSSL/GmSSL

基于 Qt 6 / C++17 的多算法加解密工具(学习研究用途)。涵盖编码、古典密码、对称/非对称加密、哈希摘要共 24 种算法,全部纯 C++ 自实现,不依赖 OpenSSL/GmSSL。含图形界面、批量文件加解密、密钥管理、性能测试与操作日志。提供标准测试向量自测。

一个简单的猜数字游戏(练习循环结构中的“while”)

&lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;猜数字&lt;/title&gt; &lt;!--计算机随机出一个[0,100]的数字让用户去猜,猜对就BINGO,猜大猜小再提示出来,--&g

LY_code的博客 3464

OSMDroid(1)——OSM简介,基础例子搭建

1.OSMDroid简介 Osmdroid是一款完全开源的地图基本操作SDK,相比于现在普遍使用的百度地图,高德地图,谷歌地图等最大的好处就是开源。 最近在做一个军方项目,要求完全不能联网,从开发到应用整个阶段都是在局域网进行,相比之下采用了OSMDroid这个SDK作为解决方案。 先来看OSMDroid,便是(OpenStreetMapForAndroid),后面都简称OSM...

robotskly的博客 6182

如何用JavaScript一次性抓取网站图片、种子等资源(正则表达式的应用)

其实就是一个html和一个js文件便可以轻松抓取。以抓取图片为例子。html文件:&lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Title&lt;/title&gt; &lt;script

LY_code的博客 1636

揭秘个人开发者接支付宝的‘野路子’:不用企业资质,用Python模拟扫码转账与回调监听

本文探讨了个人开发者如何通过Python模拟支付宝扫码转账与回调监听的技术实现,解析了支付宝URL协议格式,并设计了本地化的支付状态监听方案。文章强调该方法仅用于技术研究,实际应用需遵守支付宝官方接口和金融合规要求。

weixin_30736301的博客 409

GLM-4本地部署的实战教程

本文主要介绍了GLM-4-9B本地部署的实战教程,希望对学习和使用大模型的同学们有所帮助。 文章目录 1. 前言 2. 配置环境 2.1 安装虚拟环境 2.2 安装依赖库 2.3 下载模型文件 3. 运行glm-4-9b-chat

herosunly的博客 25万+
上一篇: 原生JavaScript面向对象封装动画效果原理详解
下一篇: 如何用JavaScript一次性抓取网站图片、种子等资源(正则表达式的应用)
风或许自媒体
博客等级 码龄12年 76粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值