, genskabe den rører vandet, som ses på google, design,,,,, 359,,,,,,,, 119,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,,,,, hvad du vil lave, google er nye designkrav er enorme og begrunde et betydeligt beløb til samtale.men i stedet for at tale om teorien om materiale, konstruktion og konsekvenserne af googles nye bestræbelser, vi skal fokusere på en interessant teknik google har ansat på deres design landing side. ,,,,,, når brugeren km på en af de blokke, en perspektivgruppen cirkel udvides af brugerens klik for at udfylde de fleste af kassen.google henvise til dette som rører bølge.vi skal genskabe denne virkning ved hjælp af et par linjer jquery, nogle simple html og css. lad os komme i gang!,, grundlæggende net, før vi starter, er vi nødt til at oprette en grundlæggende net.We are going to build the grid elements without using a framework, but this technique would work with a framework perfectly fine.,,<div class="row"> <div class="col col-1-3 blue"></div> \t<div class="col col-1-3 orange"></div> \t<div class="col col-1-3 green"></div> </div> <div class="row"> \t<div class="col col-1-2 gray"></div> \t<div class="col col-1-2 blue"></div> </div> <div class="row"> \t<div class="col col-1-4 orange"></div> \t<div class="col col-1-2 green"></div> \t<div class="col col-1-4 blue"></div> </div>,,The column classes map to fractions, so that "col-1-3" means 1/3 the width of the containing element.,, grundlæggende css, næste, vi vil sætte vores kolonne klasser.vi bruger mindre, som giver os mulighed for at rede regler og udnytte den , &, operatør.vi vil ikke gå i detaljer med mindre, men for at opnå denne forelæsning, må vi forklare, hvordan , &, erhvervsdrivende virker.men først, her er mindre for de kolonner.,,. kol {holdning: relativ; display: blok; flyde: venstre margen: 1,25%; baggrund farve:Ƽ farve:fff; polstring: 100px; rubrik størrelsessortering: grænse boks &. orange (farve:baggrund ef8130;} &. blå {baggrund farve:ade2;} &. gray (baggrund farve:Ƽ} &. grøn {baggrund farve:Lce51;} & - 1 - {& 2: bredde: 47,5%} & 3. (bredde: 30.8333%} & 4: bredde: 22,5%}}},, se , &, regler.den , &, operatør statsråd snoren efter det til et punkt på dagsordenen.med andre ord, det mindre:,,. kol {& - 1 (& - 3 (farve:fff;}}}, vil resultere i, at denne css:,,. col-1-3 (farve:fff;}, og denne mindre:,, &. '{&. orange {baggrund farve:ef8130;}}, vil resultere i, at denne css:,,. col.orange {baggrund farve:ef8130;},, hvis du ønsker at lære mere om mindre, tage et kig på disse tutorials her på tuts +:,,, fuldstændig websteder, - vores behance portefølje websted med mindre thoriq firdaus, mindre ind i mindre: de programmerbare stylesheet sprog daniel pataki, fuldstændig websteder, opbygningen af en "snart" side med html og mindre adi purdila, mindre praktiske tips til at bruge mindre daniel pataki, hvordan perspektivgruppen vil arbejde, lad os planlægge, hvordan klik vil arbejde.og hvordan perspektivgruppen vil blive anbragt i hver af de kasser.,,,,,, når brugeren klik på nogen af de kasser, vi vil beregne den udligning af mus holdning fra hjørnet af kassen.vi skal bruge koordinaterne til cirklen.vi vil også absolut position perspektivgruppen element i kasser, og kasser i sig selv vil være placeret i forhold.We'll utilize SVG's native ,<circle>, element, along with a custom jQuery animation function.,,First, let's set up the CSS for the SVG elements.,,svg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } circle { fill: rgba(255,255,255,0.1); },,The fill utilizes RGBa, which in effect fills the circle element with white at 10%.,,The JavaScript,,First, we will set up a click listener on the ,.col, elements, and grab the mouse's position relative to the document (this disregards the scroll position). ,,Mouse Position,,The position is relative to the box itself; the top left corner of the box is fetched using ,$(this).offset(),.,,$(".col").on("click", function(e){ \tvar x = e.pageX; \t\tvar y =e.pagey, var clicky = y - $(dette). offset(). top, var clickx = x - $(dette). offset(). venstre var box =; //...}), note:, vi bruger jquery for f.eks.,, vi vil omsætte , clickx, og , clicky, variabler til tal, som de dukker op, som flyder i nogle browsere.det sikrer, at vi undgår, at spørgsmål som følge af subpixel aliasing.bemærk dog, at dette ikke nødvendigvis påkrævet for den virkning at arbejde.,, var setx = parseint (clickx) var sety = parseint (clicky), fjerne eksisterende perspektivgruppen elementer, vi skal fjerne alle eksisterende perspektivgruppen elementer fra vores klikkede kasse.If you plan to add an SVG to the content of the box, be certain that you use something like jQuery's,.not(), in combination with a class to avoid removing your content.,, $(this).find("svg").remove();,,Append New SVG,,Next, we append our SVG, which we are creating by passing text into the jQuery function.,,$(this).append('<svg><circle cx="'+setX+'" cy="'+setY+'" r="'+0+'"></circle></svg>');,,The ,setX, and ,setY, position the center of the circle at the point of the click that we derived earlier.,,Animate Circle Radius,,Next, we animate the ,r, property (which sets the radius) using jQuery's ,animate, function. de manipulerer funktion ikke støtte gennemførelse af informationstiltag egenskaber, så bruger vi det skridt, mulighed, som er opkaldt efter hvert trin af informationstiltag.,, var c = $(rubrik). ("cirkel"); c.animate ({"r": $(rubrik). outerwidth()} {lempelse "easeoutquad", varighed: 400, skridt: funktion (val) (c.attr ("r", val)}}), huske på, at , rubrik, er defineret tidligere som den kasse, der var faldet.We are also utilizing jquery.easing, which is what allows us to define "easeOutQuad" for the easing property.,,The JavaScript, All Together,,The final JavaScript will look like this:,,$(".col").on("click", function(e){ var x = e.pageX; \tvar y = e.pageY; \tvar clickY = y - $(this).offset().top; \tvar clickX = x - $(this).offset().left; var box = this; var setX = parseInt(clickX); var setY = parseInt(clickY); $(this).find("svg").remove(); $(this).append('<svg><circle cx="'+setX+'" cy="'+setY+'" r="'+0+'"></circle></svg>'); var c = $(box).find("circle"); c.animate( { "r" : $(box).outerWidth() }, { easing: "easeOutQuad", duration: 400, \tstep- funktion (val) (c.attr ("r", val))))), konkluderes, at denne simple virkning kan anvendes på en række forskellige måder ud over vores eksempel.forestil dig, for eksempel, at identificere, hvor en person i et billede sammen og skabe en popover at kommentere den del af billedet, og derefter at redde koordinater.hvad anvendelsesformål, kan du finde for denne virkning?, i vilde, polymer papir elementer papir? - ved hjælp af web - komponenter til ægte, ringe virkning på knappen - codepen, google materiale design - - på codepen, materiale, konstruktion knapper på codepen,