Zunächst möchte ich sagen, dass ich es bin und diese Artikel denjenigen gewidmet sind, die wie ich lernen möchten. Mehrere Freunde im Forum haben Puffereffekte gepostet, aber es ist wirklich schmerzhaft für mich, ihren Code zu lesen. Da sie nicht auf dem gleichen Niveau sind, verwende ich den redundantsten Code, um diesen Effekt zu schreiben. Der Zweck besteht darin, zu hoffen, dass Sie ihn verstehen können. Wenn wir nicht gut darin sind, werden wir uns die Dinge noch einmal ansehen Meister. Bitte glauben Sie diesem Satz: Eines Tages wirst du ein Meister werden (vorausgesetzt, du arbeitest hart, haha^^)
Codefeld ausführen [Strg+A Alle Auswahltipps: Sie können zuerst einen Teil des Codes ändern und dann Ausführen drücken]
Bitte schauen Sie sich diese beiden Tastencodes an:
function f_s(){ var obj=document.getElementById("box");//Objekt mit ID-Box abrufen obj.style.display="block";//Setze das anzuzeigende Objekt obj obj.style.width="1px"; //Setzen Sie die Breite des Objekts obj auf 1px var changeW=function(){ //(Über die Funktion, welchen Abschluss, welche Klasse, welchen Prototyp, das macht meinen Kopf groß, ich werde es in Zukunft langsam verstehen. Was ich hier verstehe, ist, eine Funktion zu erstellen, um direkt zu messen und put Es wird in der Variablen changeW gespeichert) var obj_w=parseInt(obj.style.width);// Konvertieren Sie die Breite des Objekts in einen numerischen Wert und speichern Sie ihn in der Variablen obj_w; if(obj_w<600){ //Beurteilen Sie, ob der Breitenwert kleiner als 600 ist obj.style.width=(obj_w+Math.ceil((600-obj_w)/15))+"px";//Berechne die Breite des Objekts. . . Mit zunehmender Breite wird die Schrittweite immer kleiner } anders{ clearInterval(bw);//Wenn es größer oder gleich 600 ist, wird setInterval nicht mehr ausgeführt, was bedeutet, dass die Breite zu diesem Zeitpunkt nicht mehr zunimmt. } } var bw=window.setInterval(changeW,1)//ChangeW alle 0,001 Sekunden aufrufen }
//langsam nach schnell, von langsam nach schnell //Eine Funktion deklarieren s_f() Funktion s_f(){ var obj=document.getElementById("box2"); var e_add=1;//Initialisierungsinkrement obj.style.display="block"; obj.style.width="1px"; var changeW=function(){//Was ich verstehe, ist, ein Funktionsliteral zu erstellen und es in der Variablen changeW zu speichern var obj_w;e_add obj_w=parseInt(obj.style.width); e_add*=1.05;//Der Wert jedes nachfolgenden Inkrements beträgt if(obj_w<600){ obj.style.width=(obj_w+e_add)+"px";//Je länger die Breite wird, desto größer wird das Inkrement } anders{ clearInterval(bw); obj.style.width="600px";//Da (obj_w+e_add) diese Berechnungsmethode die vordefinierte Breite überschreitet, wird ihre Breite nach dem Puffern zurückgesetzt. Dies erzeugt eine Illusion, haha } } var bw=window.setInterval(changeW,1) }