Autor:Eve ColeFecha de actualización:2009-06-20 16:54:28
En primer lugar, lo que quiero decir es que lo soy, y estos artículos están dedicados a aquellos que quieren aprender como yo. Varios amigos en el foro han publicado efectos de almacenamiento en búfer, pero me resulta realmente doloroso leer su código. Debido a que no están en el mismo nivel, utilizo el código más redundante para escribir este efecto. El propósito es esperar que puedas entenderlo. Cuando no seamos buenos en eso, volveremos y veremos las cosas. Maestros. Finalmente, crea en esta oración: Un día te convertirás en un maestro (siempre que trabajes duro jaja ^^)
Ejecutar cuadro de código [Ctrl+A Todos los consejos de selección: primero puede modificar parte del código y luego presionar Ejecutar]
Mire estos dos códigos clave:
función f_s(){ var obj=document.getElementById("box");//Obtener el objeto con el cuadro ID obj.style.display="block";//Establecer objeto obj para mostrar obj.style.width="1px"; //Establece el ancho del objeto obj en 1px var changeW=function(){ //(Acerca de la función, qué cierre, qué clase, prototipo, me hace la cabeza grande, lo entenderé lentamente en el futuro. Lo que entiendo aquí es crear una función para medir directamente y put Se almacena en la variable changeW) var obj_w=parseInt(obj.style.width);//Convierte el ancho del objeto en un valor numérico y lo almacena en la variable obj_w; if(obj_w<600){ //Juzga, si el valor del ancho es menor que 600 obj.style.width=(obj_w+Math.ceil((600-obj_w)/15))+"px";//Calcula el ancho del objeto. . . A medida que el ancho se hace más largo, el incremento se hace cada vez más pequeño. } demás{ clearInterval(bw);// Si es mayor o igual a 600, setInterval ya no se ejecutará, lo que significa que el ancho dejará de aumentar en este momento. } } var bw=window.setInterval(changeW,1)//Llamar a changeW cada 0,001 segundos }
//de lento a rápido de lento a rápido //Declarar una función s_f() función s_f(){ var obj=document.getElementById("cuadro2"); var e_add=1;//Incremento de inicialización obj.style.display="bloque"; obj.style.width="1px"; var changeW=function(){//Lo que entiendo es crear un literal de función y almacenarlo en la variable changeW var obj_w;e_add obj_w=parseInt(obj.style.width); e_add*=1.05;//El valor de cada incremento posterior es si(obj_w<600){ obj.style.width=(obj_w+e_add)+"px";//A medida que el ancho se hace más largo, el incremento se hace cada vez más grande } demás{ borrarIntervalo(bw); obj.style.width="600px";//Debido a que (obj_w+e_add) este método de cálculo excederá el ancho predefinido, su ancho se restablece después del almacenamiento en búfer. Esto crea una ilusión jaja. } } var bw=ventana.setInterval(cambioW,1) }