jQuery实现炫丽的3d旋转星空效果


Posted in jQuery onJuly 04, 2018

本文实例讲述了jQuery实现炫丽的3d旋转星空效果。分享给大家供大家参考,具体如下:

该特效也是在Jquery插件库中找到的,感觉效果不错,说不定以后项目中要有绚丽的星空背景,拿来即用,收藏了下。

下载解压后的目录结构

jQuery实现炫丽的3d旋转星空效果

index.html页面代码:

<!doctype html>
<html lang="zh">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>jQuery和CSS3超绚丽的3D星空动画特效</title>
  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
  <style class="cp-pen-styles">body {
   background: radial-gradient(200% 100% at bottom center, #0070aa, #0b2570, #000035, #000);
   background: radial-gradient(220% 105% at top center, #000 10%, #000035 40%, #0b2570 65%, #0070aa);
   background-attachment: fixed;
   overflow: hidden;
  }
  @keyframes rotate {
   0% {
    transform: perspective(400px) rotateZ(20deg) rotateX(-40deg) rotateY(0);
   }
   100% {
    transform: perspective(400px) rotateZ(20deg) rotateX(-40deg) rotateY(-360deg);
   }
  }
  .stars {
   transform: perspective(500px);
   transform-style: preserve-3d;
   position: absolute;
   bottom: 0;
   perspective-origin: 50% 100%;
   left: 50%;
   animation: rotate 90s infinite linear;
  }
  .star {
   width: 2px;
   height: 2px;
   background: #F7F7B6;
   position: absolute;
   top: 0;
   left: 0;
   transform-origin: 0 0 -300px;
   transform: translate3d(0, 0, -300px);
   backface-visibility: hidden;
  }
  </style>
</head>
<body>
  <div class="stars">
  </div>
  <script src='js/stopExecutionOnTimeout.js'></script>
  <script>
  $(document).ready(function () {
    var stars = 800;
    var $stars = $('.stars');
    var r = 800;
    for (var i = 0; i < stars; i++) {
      if (window.CP.shouldStopExecution(1)) {
        break;
      }
      var $star = $('<div/>').addClass('star');
      $stars.append($star);
    }
    window.CP.exitedLoop(1);
    $('.star').each(function () {
      var cur = $(this);
      var s = 0.2 + Math.random() * 1;
      var curR = r + Math.random() * 300;
      cur.css({
        transformOrigin: '0 0 ' + curR + 'px',
        transform: ' translate3d(0,0,-' + curR + 'px) rotateY(' + Math.random() * 360 + 'deg) rotateX(' + Math.random() * -50 + 'deg) scale(' + s + ',' + s + ')'
      });
    });
  });
  </script>
</body>
</html>

运行的效果如下:

jQuery实现炫丽的3d旋转星空效果

其中stopExecutionOnTimeout.js如下:

"use strict";"object"!=typeof window.CP&&(window.CP={}),window.CP.PenTimer={programNoLongerBeingMonitored:!1,timeOfFirstCallToShouldStopLoop:0,_loopExits:{},_loopTimers:{},START_MONITORING_AFTER:2e3,STOP_ALL_MONITORING_TIMEOUT:5e3,MAX_TIME_IN_LOOP_WO_EXIT:2200,exitedLoop:function(o){this._loopExits[o]=!0},shouldStopLoop:function(o){if(this.programKilledSoStopMonitoring)return!0;if(this.programNoLongerBeingMonitored)return!1;if(this._loopExits[o])return!1;var t=this._getTime();if(0===this.timeOfFirstCallToShouldStopLoop)return this.timeOfFirstCallToShouldStopLoop=t,!1;var i=t-this.timeOfFirstCallToShouldStopLoop;if(i<this.START_MONITORING_AFTER)return!1;if(i>this.STOP_ALL_MONITORING_TIMEOUT)return this.programNoLongerBeingMonitored=!0,!1;try{this._checkOnInfiniteLoop(o,t)}catch(n){return this._sendErrorMessageToEditor(),this.programKilledSoStopMonitoring=!0,!0}return!1},_sendErrorMessageToEditor:function(){try{if(this._shouldPostMessage()){var o={action:"infinite-loop",line:this._findAroundLineNumber()};parent.postMessage(JSON.stringify(o),"*")}else this._throwAnErrorToStopPen()}catch(t){this._throwAnErrorToStopPen()}},_shouldPostMessage:function(){return document.location.href.match(/boomerang/)},_throwAnErrorToStopPen:function(){throw"We found an infinite loop in your Pen. We've stopped the Pen from running. Please correct it or contact support@codepen.io."},_findAroundLineNumber:function(){var o=new Error,t=0;if(o.stack){var i=o.stack.match(/boomerang\S+:(\d+):\d+/);i&&(t=i[1])}return t},_checkOnInfiniteLoop:function(o,t){if(!this._loopTimers[o])return this._loopTimers[o]=t,!1;var i=t-this._loopTimers[o];if(i>this.MAX_TIME_IN_LOOP_WO_EXIT)throw"Infinite Loop found on loop: "+o},_getTime:function(){return+new Date}},window.CP.shouldStopExecution=function(o){return window.CP.PenTimer.shouldStopLoop(o)},window.CP.exitedLoop=function(o){window.CP.PenTimer.exitedLoop(o)};

效果还是挺不错的,你可以改变背景颜色等等定制。

希望本文所述对大家jQuery程序设计有所帮助。

jQuery 相关文章推荐
jQuery中的deferred使用方法
Mar 27 jQuery
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
Apr 10 jQuery
jQuery Validate 校验多个相同name的方法
May 18 jQuery
jquery+css实现侧边导航栏效果
Jun 12 jQuery
jquery.validate.js 多个相同name的处理方式
Jul 10 jQuery
利用jQuery异步上传文件的插件用法详解
Jul 19 jQuery
jQuery图片加载失败替换默认图片方法汇总
Nov 29 jQuery
jQuery实现的点击按钮改变样式功能示例
Jul 21 jQuery
jQuery 移除事件的方法
Jun 20 jQuery
jQuery实现简单日历效果
Jul 05 jQuery
jQuery实现简单评论区功能
Oct 26 jQuery
jquery插件实现代码雨特效
Apr 24 jQuery
jQuery实现table表格checkbox全选的方法分析
Jul 04 #jQuery
jQuery实现表单动态添加与删除数据操作示例
Jul 03 #jQuery
jQuery实现获取form表单内容及绑定数据到form表单操作分析
Jul 03 #jQuery
jQuery阻止事件冒泡实例分析
Jul 03 #jQuery
jQuery实现模糊搜索功能的方法分析
Jun 29 #jQuery
jQuery实现获取动态添加的标签对象示例
Jun 28 #jQuery
jQuery实现获取选中复选框的值实例详解
Jun 28 #jQuery
You might like
CI框架文件上传类及图像处理类用法分析
2016/05/18 PHP
php中yar框架实例用法讲解
2020/12/27 PHP
Prototype使用指南之base.js
2007/01/10 Javascript
ExtJS 2.0 实用简明教程之布局概述
2009/04/29 Javascript
新发现一个骗链接的方法(js读取cookies)
2012/01/11 Javascript
node.js回调函数之阻塞调用与非阻塞调用
2015/11/13 Javascript
jQuery实现圣诞节礼物动画案例解析
2016/12/25 Javascript
angularjs ocLazyLoad分步加载js文件实例
2017/01/17 Javascript
javascript中递归的两种写法
2017/01/17 Javascript
canvas实现粒子时钟效果
2017/02/06 Javascript
vue.js指令和组件详细介绍及实例
2017/04/06 Javascript
JS实现css hover操作的方法示例
2017/04/07 Javascript
vue实现提示保存后退出的方法
2018/03/15 Javascript
jquery的 filter()方法使用教程
2018/03/22 jQuery
JS实现的DOM插入节点操作示例
2018/04/04 Javascript
在js代码拼接dom对象到页面上的模板总结
2018/10/21 Javascript
vue实现弹幕功能
2019/10/25 Javascript
python处理图片之PIL模块简单使用方法
2015/05/11 Python
Python中的Descriptor描述符学习教程
2016/06/02 Python
python数据分析数据标准化及离散化详解
2018/02/26 Python
tensorflow学习教程之文本分类详析
2018/08/07 Python
解决jupyter notebook import error但是命令提示符import正常的问题
2020/04/15 Python
20行Python代码实现一款永久免费PDF编辑工具的实现
2020/08/27 Python
python计算auc的方法
2020/09/09 Python
Pycharm自带Git实现版本管理的方法步骤
2020/09/18 Python
Canvas 像素处理之改变透明度的实现代码
2019/01/08 HTML / CSS
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
施华洛世奇意大利官网:SWAROVSKI意大利
2018/07/23 全球购物
总经理岗位职责描述
2014/02/08 职场文书
初三学生个人自我评定
2014/04/06 职场文书
公司股权转让协议书
2014/04/12 职场文书
2015年基建工作总结范文
2015/05/23 职场文书
班主任工作经验交流会总结
2015/11/02 职场文书
2016教师校本培训心得体会
2016/01/08 职场文书
Tomcat执行startup.bat出现闪退的原因及解决办法
2022/04/20 Servers
Python序列化模块JSON与Pickle
2022/06/05 Python