素材牛VIP会员

jQuery和CSS3超炫查找输出质数动画

 所属分类:网页特效-文字/按钮,动画效果

 浏览:314次-  下载:0次-  评论:1次-  发布时间:2019-01-24
jQuery和CSS3超炫查找输出质数动画兼容IE9
积分说明:注册即送15牛币,每日签到可获得5牛币,成为VIP会员可永久免积分下载!   充值积分   充值会员   更多说明»
素材描述:这是一款效果非常炫酷的jQuery和CSS3超炫查找质数动画特效。该特效会在屏幕中间显示当前正在查找的数字,并在页面中显示已经查找过的数字,如果是质数中间的数字会以3D淡出动画的方式显示该质数,同时在质数墙中高亮显示该质数。
 标签:质数css3动画

详细介绍

HTML结构

该查找质数特效的HTML结构分为三个部分:section.output是用于显示已经查找过的数字,即质数墙。section.display是当前正在查找的数字,也就是屏幕中间的数字动画。还有一个<button>元素,它位于屏幕的右上角,可以暂停当前的质数查找。

<section class="output">
      
</section>
 
<section class="display">
     
</section>
 
<button class="control">
    <span class="play"> > </span>
    <span class="pause"> || </span>
</button>

CSS样式

该查找质数动画的CSS样式非常简单。它分别为c0-c5的不同class的质数设置不同的颜色。然后当前正在动画的数字使用translate3d()函数来制作质数的3D动画效果。这里使用了多个不同的translate3d()函数,用以制作不同的3D动画效果。

.display.prime {
  color: #62efab;
  opacity: 0.7;
}
.display.prime.c0 {
  color: #d781f9;
}
.display.prime.c1 {
  color: #80e3f7;
}
.display.prime.c2 {
  color: #ffe868;
}
.display.prime.c3 {
  color: #ef7658;
}
.display.prime.c4 {
  color: #f26395;
}
.display.prime.c5 {
  color: #62efab;
}
.display.out {
  opacity: 0;
}
.display.out.lb {
  -webkit-transform: translate3d(-2em, 1em, 0em);
          transform: translate3d(-2em, 1em, 0em);
}
.display.out.l {
  -webkit-transform: translate3d(-2em, 0em, 0em);
          transform: translate3d(-2em, 0em, 0em);
}
.display.out.lt {
  -webkit-transform: translate3d(-2em, -1em, 0em);
          transform: translate3d(-2em, -1em, 0em);
}
.display.out.t {
  -webkit-transform: translate3d(0em, -1em, 0em);
          transform: translate3d(0em, -1em, 0em);
}
.display.out.rt {
  -webkit-transform: translate3d(2em, -1em, 0em);
          transform: translate3d(2em, -1em, 0em);
}
.display.out.r {
  -webkit-transform: translate3d(2em, 0em, 0em);
          transform: translate3d(2em, 0em, 0em);
}
.display.out.rb {
  -webkit-transform: translate3d(2em, 1em, 0em);
          transform: translate3d(2em, 1em, 0em);
}
.display.out.b {
  -webkit-transform: translate3d(0em, 1em, 0em);
          transform: translate3d(0em, 1em, 0em);
}

 JAVASCRIPT

质数的查找和显示都是在jQuery代码中完成的。isPrime()函数用于判断一个数是不是质数。outputPrime()和outputNormal()函数分别用于输出质数和非质数。display()方法则用于查找质数的动画。具体代码请参考下载文件。

function isPrime(n) {
    var i = 2, n = n || 1;
    if ( n === 1 ) { return false; }
    if ( n < 4 ) { return true; }
    while( i < n ) {
      if ( n % i === 0 ) { return false; }
      i++;
    }
    return true;
  }
  function outputPrime(n, c) {
      if(n) {
          $output.append("<i class='prime" + c + "'>" + n + "</i>");
      }
  }
  function outputNormal(n) {
      if(n) {
          $output.append("<i>" + n + "</i>");
      }
  }
  function display(n, prime, c) {           
      var $temp, pos;
      if(n) {
          $display.text(n);
          console.log(arguments);
          if(prime) {
              pos = Math.floor(Math.random()*coord.length);
              $temp = $display
                  .clone()
                  .addClass("prime c" + c)
                  .insertAfter( $display );
              setTimeout(function() {
                  $temp
                      .addClass("out")
                      .addClass(coord[pos]);
              }, 10);         
              setTimeout(function() {
                  $temp.remove();
              }, 1200);
          }
      }
  }

文件目录结构

  • css
    • ┝ styles.css
  • ┝ index.html
  • js
    • ┝ jquery-1.11.0.min.js

讨论这个素材(1)回答他人问题或分享使用心得会奖励牛币

tc***ju  
2019年02月12日

谢谢了1

回复
mi***tu  
2019年02月22日

很震撼啊。

回复
 文明上网,理性发言!   😉 阿里云幸运券,戳我领取
我的牛币余额:0 已下载次数:0
所需牛币:5 开始下载

牛币获取:签到、评论、充值    » 在线充值(10牛币=1元)