首页前端开发其他前端知识怎么用jQuery现实3d星空的效果

怎么用jQuery现实3d星空的效果

时间2024-03-28 09:06:03发布访客分类其他前端知识浏览1068
导读:这篇文章给大家分享的是“怎么用jQuery现实3d星空的效果”,文中的讲解内容简单清晰,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下“怎么用jQuery现实3d星空的效果”吧。...
这篇文章给大家分享的是“怎么用jQuery现实3d星空的效果”,文中的讲解内容简单清晰,对大家学习和理解有一定的参考价值和帮助,有这方面学习需要的朋友,接下来就跟随小编一起学习一下“怎么用jQuery现实3d星空的效果”吧。


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

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

下载解压后的目录结构

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>
    

运行的效果如下:

其中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(ithis.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现实3d星空的效果”的内容了,通过以上内容的阐述,相信大家对怎么用jQuery现实3d星空的效果已经有了进一步的了解,如果想要了解更多相关的内容,欢迎关注网络,网络将为大家推送更多相关知识点的文章。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 怎么用jQuery现实3d星空的效果
本文地址: https://pptw.com/jishu/654838.html
Bootstrap栅格系统是什么,怎么样使用 Java反射机制如何理解,Java反射机制方法是什么

游客 回复需填写必要信息