Прежде всего, я хочу сказать, что да, и эти статьи посвящены тем, кто хочет учиться, как я. Несколько друзей на форуме опубликовали эффекты буферизации, но мне действительно больно читать их код. Поскольку они не находятся на одном уровне, я использую наиболее избыточный код для написания этого эффекта. Цель состоит в том, чтобы надеяться, что вы сможете это понять. Когда у нас это не получится, мы вернемся и посмотрим на вещи. Мастера, наконец, поверьте этому предложению: Однажды ты станешь мастером (при условии, что будешь усердно работать, ха-ха^^)
Окно запуска кода [Ctrl+A. Все советы по выбору: сначала можно изменить часть кода, а затем нажать «Выполнить».]
Посмотрите на эти два кода клавиш:
function f_s(){ var obj=document.getElementById("box");//Получаем объект с идентификатором box obj.style.display="block";//Установить объект obj для отображения obj.style.width="1px" //Установим ширину объекта obj на 1 пиксель varchangeW=function(){ //(Насчет функции, какое замыкание, какой класс, прототип - у меня голова забивается, в будущем я пойму это медленно. Здесь я понимаю, что нужно создать функцию для прямого измерения и put Он хранится в переменнойchangeW) var obj_w=parseInt(obj.style.width);//Преобразуем ширину объекта в числовое значение и сохраняем его в переменной obj_w; if(obj_w<600){ //Судите, если значение ширины меньше 600 obj.style.width=(obj_w+Math.ceil((600-obj_w)/15))+"px";//Вычисляем ширину объекта. . . По мере увеличения ширины приращение становится все меньше и меньше. } еще{ ClearInterval(bw);//Если оно больше или равно 600, setInterval больше не будет выполняться, а это означает, что ширина в этот момент перестанет увеличиваться. } } var bw=window.setInterval(changeW,1)//Вызов измененияW каждые 0,001 секунды }
//от медленного к быстрому, от медленного к быстрому //Объявляем функцию s_f() функция s_f(){ var obj=document.getElementById("box2"); var e_add=1;//Приращение инициализации obj.style.display="блок"; obj.style.width="1px"; varchangeW=function(){//Я понимаю, что нужно создать литерал функции и сохранить его в переменной ChangeW. вар obj_w;e_add obj_w = parseInt (obj.style.width); e_add*=1.05;//Значение каждого последующего приращения равно если (obj_w<600){ obj.style.width=(obj_w+e_add)+"px";//По мере увеличения ширины приращение становится все больше и больше } еще{ очиститьИнтервал (чб); obj.style.width="600px";//Потому что (obj_w+e_add) этот метод расчета будет превышать предопределенную ширину, поэтому его ширина сбрасывается после буферизации. Это создает иллюзию, ха-ха. } } вар bw=window.setInterval(changeW,1) }