Memengaruhi:
Ide:
Pertama, muat pada gulir untuk mengontrol bilah gulir. Kemudian tuliskan metode gerak buffering. Cara gerak buffering adalah dengan menghitung terlebih dahulu kecepatan buffer DIV, membulatkannya, kemudian melakukan gerakan untuk menentukan kapan titik akhir tercapai. Akhirnya parameternya dikembalikan. Kemudian panggil metode ini di onscroll, dan hitung titik akhir dan tetapkan ke parameter metode ini.
Kode:
Copy kode kodenya sebagai berikut:
<head runat="server">
<judul></judul>
<gaya tipe="teks/css">
#div1
{
lebar: 200 piksel;
tinggi: 200 piksel;
latar belakang: #0000FF;
posisi: mutlak;
kanan: 0;
bawah: 0;
}
</gaya>
<skrip tipe="teks/javascript">
jendela.onscroll = fungsi () {
var oDiv = dokumen.getElementById('div1');
var DivScroll = document.documentElement.scrollTop ||. document.body.scrollTop; //Dapatkan ketinggian pergerakan
// oDiv.style.top = (document.documentElement.clientHeight - oDiv.offsetHeight)/2 + DivScroll + 'px';
move(parseInt((document.documentElement.clientHeight - oDiv.offsetHeight) / 2 + DivScroll)); //Panggil parameter, dan parameter di dalamnya adalah titik akhir DIV. Yaitu (tinggi visual - tinggi DIV) / 2 + tinggi seluler
};
var pengatur waktu = nol;
fungsi pindah(akhir) {
clearInterval(timer); //Pertama, tutup setInterval yang dibuka sebelumnya;
pengatur waktu = setInterval(fungsi () {
var oDiv = dokumen.getElementById('div1');
var speed = (end - oDiv.offsetTop) / 5; //Hitung kecepatan DIV sama dengan (titik akhir - offsetTop height) / faktor penskalaan
speed = speed > 0 ? Math.ceil(speed) : Math.floor(speed); //Untuk menghindari desimal, bulatkan
if (oDiv.offsetTop == end) {/ //Saat DIV mencapai akhir, tutup setInterval;
clearInterval(pengatur waktu);
}
kalau tidak {
oDiv.style.top = oDiv.offsetTop + kecepatan + 'px'; //Pindahkan div
}
}, 30);
}
</skrip>
</kepala>
<gaya tubuh="tinggi: 1000 piksel;">
<divid='div1'>
</div>
</tubuh>