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自定义图片上传插件实例代码
Apr 04 jQuery
jquery中$.fn和图片滚动效果实现的必备知识总结
Apr 21 jQuery
基于jquery实现多级菜单效果
Jul 25 jQuery
jQuery实现火车票买票城市选择切换功能
Sep 15 jQuery
jQuery EasyUI window窗口使用实例代码
Dec 25 jQuery
jQuery实现DIV响应鼠标滑过由下向上展开效果示例【测试可用】
Apr 26 jQuery
浅谈JS和jQuery的区别
Mar 27 jQuery
JQuery Ajax跨域调用和非跨域调用问题实例分析
Apr 16 jQuery
JQuery省市联动效果实现过程详解
May 08 jQuery
jQuery 隐藏/显示效果函数用法实例分析
May 20 jQuery
Jquery高级应用Deferred对象原理及使用实例
May 28 jQuery
jquery实现上传图片功能
Jun 29 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
深入PHP empty(),isset(),is_null()的实例测试详解
2013/06/06 PHP
php中define用法实例
2015/07/30 PHP
PHP页面跳转操作实例分析(header方法)
2016/09/28 PHP
JavaScript的变量作用域深入理解
2009/10/25 Javascript
javascript中的new使用
2010/03/20 Javascript
基于jQuery的淡入淡出可自动切换的幻灯插件打包下载
2010/09/15 Javascript
JQuery each()函数如何优化循环DOM结构的性能
2012/12/10 Javascript
node.js中的console.trace方法使用说明
2014/12/09 Javascript
jQuery实现跟随鼠标运动图层效果的方法
2015/02/02 Javascript
JS实现可调整倒计时间代码分享
2015/08/18 Javascript
bootstrap多种样式进度条展示
2016/12/20 Javascript
javascript阻止事件冒泡和浏览器的默认行为
2017/01/21 Javascript
Bootstrap下拉菜单样式
2017/02/07 Javascript
HTML5+jQuery实现搜索智能匹配功能
2017/03/24 jQuery
微信小程序 聊天室简单实现
2017/04/19 Javascript
JScript实现地址选择功能
2017/08/15 Javascript
Python实现类继承实例
2014/07/04 Python
解决pandas使用read_csv()读取文件遇到的问题
2018/06/15 Python
python3解析库lxml的安装与基本使用
2018/06/27 Python
Python 处理图片像素点的实例
2019/01/08 Python
浅谈Python编程中3个常用的数据结构和算法
2019/04/30 Python
python实现爬取百度图片的方法示例
2019/07/06 Python
浅谈Keras中shuffle和validation_split的顺序
2020/06/19 Python
记录一下scrapy中settings的一些配置小结
2020/09/28 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
让IE支持HTML5的方法
2012/12/11 HTML / CSS
世界上最大的字体市场:MyFonts
2020/01/10 全球购物
班级活动总结格式
2014/08/30 职场文书
中班下学期个人工作总结
2015/02/12 职场文书
车队安全员岗位职责
2015/02/15 职场文书
以权谋私检举信范文
2015/03/02 职场文书
元旦晚会开场白
2015/05/29 职场文书
李强感恩观后感
2015/06/17 职场文书
企业宣传稿范文
2015/07/23 职场文书
导游词之西安大清真寺
2019/12/17 职场文书
python生成可执行exe控制Microsip自动填写号码并拨打功能
2021/06/21 Python