Efeito cinematográfico no blog (bolinhas flutuantes)

maio 25, 2018

Efeito cinematográfico no blog (bolinhas flutuantes)

Konnichiwaa fadinhas e elfos! Como vocês estão? Hoje resolvi trazer um tutorial super diferente do normal, sempre venho com html e css. Mas dessa vez é puro Javascript! Sabe aqueles efeitos bem famosos de neve? Bem, esse é com um estilo cinematográfico muito lindo. E não é complicado de colocar no blog, tenho certeza que vai achar legal. E então? Let's go?


Criei um blog só com esse preview! Aproveite e confira abaixo:



Gostou? Quer adicionar no seu blog? É super simples:
Vá em no seu Painel do Blogger, clique em Layout, Editar HTML, e pesquise por </head>  acima dele cole o código: 

<script type='text/javascript'>
// <![CDATA[
var colour="#EEEEEE"; // what colour are the blobs
var speed=66; // speed of animation, lower is faster
var blobs=20; // how many blobs are in the jar
var charc=String.fromCharCode(9679); // a blob - can be changed to charc='hello' or charc='*' for a different effect

/***************************\
*   Blobs in a Jar Effect   *
*(c)2012-13 mf2fm web-design*
*  http://www.mf2fm.com/rv  *
* DON'T EDIT BELOW THIS BOX *
\***************************/

var div;
var xpos=new Array();
var ypos=new Array();
var zpos=new Array();
var dx=new Array();
var dy=new Array();
var dz=new Array();
var blob=new Array(); 
var swide=800;
var shigh=600;
var ie_version=(navigator.appVersion.indexOf("MSIE")!=-1)?parseFloat(navigator.appVersion.split("MSIE")[1]):false;

function addLoadEvent(funky) {
  var oldonload=window.onload;
  if (typeof(oldonload)!='function') window.onload=funky;
  else window.onload=function() {
    if (oldonload) oldonload();
    funky();
  }
}

addLoadEvent(fill_the_jar);

function fill_the_jar() {
 var i, dvs;
 div=document.createElement('div');
 dvs=div.style;
 dvs.position='fixed';
 dvs.left='0px';
 dvs.top='0px';
 dvs.width='1px';
 dvs.height='1px';
 document.body.appendChild(div);
 set_width();
 for (i=0; i<blobs; i++) {
   add_blob(i);
   jamjar(i);
 }
}

function add_blob(ref) {
 var dv, sy;
 dv=document.createElement('div');
 sy=dv.style;
 sy.position='absolute';
 sy.textAlign='center';
    if (ie_version && ie_version<10) {
   sy.fontSize="10px";
   sy.width="100px";
   sy.height="100px";
   sy.paddingTop="40px";
   sy.color=colour;
      dv.appendChild(document.createTextNode(charc));
 }
 else if (ie_version) {
   sy.fontSize="1px";
   sy.width="0px";
   sy.height="0px";
 }
 else {
   dv.appendChild(document.createTextNode(charc));
   sy.color='rgba(0,0,0,0)';
 }
  ypos[ref]=Math.floor(shigh*Math.random());
 dy[ref]=(0.5+Math.random())*(Math.random()>.5?2:-2);
 xpos[ref]=Math.floor(swide*Math.random());
 dx[ref]=(0.5+Math.random())*(Math.random()>.5?2:-2);
 zpos[ref]=Math.random()*20;
 dz[ref]=(0.5+Math.random())*(Math.random()>.5?.5:-.5);
 blob[ref]=dv;
 div.appendChild(blob[ref]);
 set_blob(ref);
}

function rejig(ref, xy) {
  if (xy=='y') {
 dx[ref]=(0.5+Math.random())*sign(dx[ref]);
    dy[ref]=(0.5+Math.random())*-sign(dy[ref]);
  }
  else {
    dx[ref]=(0.5+Math.random())*-sign(dx[ref]);
   dy[ref]=(0.5+Math.random())*sign(dy[ref]);
  }
}

function sign(a) {
  if (a<0) return (-2);
  else if (a>0) return (2);
  else return (0);
}

function set_blob(ref) {
 var sy;
 sy=blob[ref].style;
 sy.top=ypos[ref]+'px';
 sy.left=xpos[ref]+'px';
    if (ie_version && ie_version<10) {
   sy.filter="glow(color="+colour+",strength="+zpos[ref]+")";
   sy.fontSize=30-zpos[ref]+"px";
 }
 else if (ie_version) {
   sy.boxShadow="0px 0px 40px "+zpos[ref]+"px "+colour;
 }
 else {
   sy.textShadow=colour+' 0px 0px '+zpos[ref]+'px';
   sy.fontSize=40+zpos[ref]+'px';
 }
}

function jamjar(ref) {
 if (ypos[ref]+dy[ref]<-50 || ypos[ref]+dy[ref]>shigh) rejig(ref, 'y');
 ypos[ref]+=dy[ref];
 if (xpos[ref]+dx[ref]<-50 || xpos[ref]+dx[ref]>swide) rejig(ref, 'x');
 xpos[ref]+=dx[ref];
 if (zpos[ref]+dz[ref]<0 || zpos[ref]+dz[ref]>20) dz[ref]=-dz[ref];
 zpos[ref]+=dz[ref];
 set_blob(ref);
 setTimeout("jamjar("+ref+")", speed);
}

window.onresize=set_width;
function set_width() {
  var sw_min=999999;
  var sh_min=999999;
  if (document.documentElement && document.documentElement.clientWidth) {
    if (document.documentElement.clientWidth>0) sw_min=document.documentElement.clientWidth;
    if (document.documentElement.clientHeight>0) sh_min=document.documentElement.clientHeight;
  }
  if (typeof(self.innerWidth)!="undefined" && self.innerWidth) {
    if (self.innerWidth>0 && self.innerWidth<sw_min) sw_min=self.innerWidth;
    if (self.innerHeight>0 && self.innerHeight<sh_min) sh_min=self.innerHeight;
  }
  if (document.body.clientWidth) {
    if (document.body.clientWidth>0 && document.body.clientWidth<sw_min) sw_min=document.body.clientWidth;
    if (document.body.clientHeight>0 && document.body.clientHeight<sh_min) sh_min=document.body.clientHeight;
  }
  if (sw_min==999999 || sh_min==999999) {
    sw_min=800;
    sh_min=600;
  }
  swide=sw_min;
  shigh=sh_min;
}
// ]]>
</script>

E prontinho! Qualquer dúvida é só perguntar nos comentários ok? Eu acho que fica lindo também em fundos brancos, discretos, e caso queira mudar a cor das bolinhas é só trocar o #EEEEEE


Aproveite e leia também:

Por hoje é só! Espero que tenham gostado! Estamos tendo postagens todos os dias, da semana (menos finais de semana) siga o blog para não perder nada. Redes Sociais do Sweet Magic: Facebook | Twitter | We heart It | Bloglovin | Pinterest *  Conheça meu trabalho: JD Design e Web! Até mais, Kissus! 

Leia também:

2 comentários

© 2017 Sweet Magic. Re-Design: JD Design. Tecnologia do Blogger.