Autor:Eve ColeData da Última Atualização:2009-06-20 16:54:28
Em primeiro lugar, o que quero dizer é que sim, e esses artigos são dedicados a quem quer aprender como eu. Vários amigos no fórum postaram efeitos de buffer, mas é muito doloroso para mim ler o código deles. Como eles não estão no mesmo nível, eu uso o código mais redundante para escrever esse efeito. O objetivo é esperar que você possa entendê-lo. Quando não formos bons nisso, voltaremos e veremos as coisas. mestres. Finalmente, por favor, acreditem nesta frase: Um dia você se tornará um mestre, (desde que trabalhe duro haha ^^)
Execute a caixa de código [Ctrl+A Todas as dicas de seleção: você pode modificar parte do código primeiro e depois pressionar Executar]
Observe estes dois códigos de teclas:
function f_s(){ var obj=document.getElementById("box");//Obtém o objeto com ID box obj.style.display="block";//Define o objeto obj para exibição obj.style.width="1px"; //Defina a largura do objeto obj para 1px var changeW=function(){ //(Sobre a função, qual fechamento, qual classe, protótipo, isso me deixa com a cabeça grande, vou entender aos poucos no futuro. O que eu entendo aqui é criar uma função para medir diretamente e put É armazenado na variável changeW) var obj_w=parseInt(obj.style.width);//Converte a largura do objeto em um valor numérico e armazena-o na variável obj_w; if(obj_w<600){ //Julgar, se o valor da largura for menor que 600 obj.style.width=(obj_w+Math.ceil((600-obj_w)/15))+"px";//Calcula a largura do objeto. . . À medida que a largura aumenta, o incremento torna-se cada vez menor } outro{ clearInterval(bw);//Se for maior ou igual a 600, setInterval não será mais executado, o que significa que a largura irá parar de aumentar neste momento. } } var bw=window.setInterval(changeW,1)//Chama changeW a cada 0,001 segundos }
//de lento para rápido, de lento para rápido //Declara uma função s_f() função s_f(){ var obj=document.getElementById("caixa2"); var e_add=1;//incremento de inicialização obj.style.display="bloquear"; obj.style.width="1px"; var changeW=function(){//O que eu entendo é criar uma função literal e armazená-la na variável changeW var obj_w;e_add obj_w=parseInt(obj.style.largura); e_add*=1.05;//O valor de cada incremento subsequente é if(obj_w<600){ obj.style.width=(obj_w+e_add)+"px";//À medida que a largura fica maior, o incremento fica cada vez maior } outro{ clearInterval(bw); obj.style.width="600px";//Porque (obj_w+e_add) este método de cálculo excederá a largura predefinida, então sua largura é redefinida após o buffer. Isso cria uma ilusão haha. } } var bw=window.setInterval(mudançaW,1) }