Komponen Kembali ke Atas ialah fungsi halaman web yang sangat biasa dengan keperluan mudah: selepas halaman menatal jarak tertentu, butang Kembali ke Atas dipaparkan dengan mengklik butang ini boleh menatal bar skrol kembali ke permulaan muka surat.
Idea pelaksanaan juga sangat mudah, cuma tukar nilai document.documentElement.scrollTop atau document.body.scrollTop.
Artikel ini meninggalkan semua kesan hebat pecutan dan nyahpecutan, kembali kepada intipati perisian, dan menyediakan pelaksanaan yang paling mudah dan tidak mengejar apa yang dipanggil pengalaman pengguna >
Memandangkan idea dan kodnya sangat mudah, saya akan terus menyiarkan butiran pelaksanaan:
var BackTop = function (domE,distance) { if (!domE) return; var _onscroll = window.onscroll, _onclick = domE.onclick; window.onscroll = throttle(function(){ typeof _onscroll === 'function' && _onscroll.apply(this, arguments); toggleDomE(); },100); domE.onclick = function(){ typeof _onclick === 'function' && _onclick.apply(this, arguments); document.documentElement.scrollTop = 0; document.body.scrollTop = 0; }; function toggleDomE(){ domE.style.display = (document.documentElement.scrollTop || document.body.scrollTop) > (distance || 500) ? 'block' : 'none'; } function throttle(func, wait) { var timer = null; return function () { var self = this, args = arguments; if (timer) clearTimeout(timer); timer = setTimeout(function () { return typeof func === 'function' && func.apply(self, args); }, wait); } } };
<script> new BackTop(document.getElementById('backTop')) </script>
2) Saya ingin menyatakan salah satu pandangan saya dalam proses kerja: jangan gunakan pengalaman pengguna untuk menghiasi perisian atau produk anda secara terang-terangan, pengalaman pengguna boleh dibahagikan kepada dua perkataan, satu adalah kesan yang baik. dan satu lagi adalah kesan yang baik Ia hanya menyeronokkan, tetapi ini bukan matlamat utama pembangunan dan operasi produk Tidak kira betapa cantiknya anda membuat sesuatu, jika nilai teras dan perkhidmatan produk tidak mencukupi, walaupun anda membuat fungsi kembali ke atas ke dalam roket super kebal, ia akan menjadi sia-sia. Apabila melakukan pembangunan bahagian hadapan, anda perlu mengawal sejauh mana pengurus produk menyebut secara membuta tuli fungsi pengalaman pengguna Untuk komponen ini, saya fikir ia adalah berlebihan untuk melakukan kesan pecutan atau nyahpecutan Ia bukan sahaja meningkatkan masa pembangunan. tetapi juga melambatkan masa penggunaan pengguna, dan meninggalkan diri mereka sendiri Kedegilan dalam bermain dengan teknologi boleh menjadikan kerja anda lebih sempurna.
Izinkan saya berkongsi dengan anda beberapa halaman web biasa kembali ke kod teratas
1. Paling mudah untuk menggunakan tag sauh HTML Tetapi satu-satunya kelemahan ialah gayanya tidak begitu baik dan tag anchor ini akan dipaparkan.
Letak di bahagian bawah halaman:
2. Gunakan fungsi Tatal Javascript untuk kembali ke atas Fungsi skrol digunakan untuk mengawal kedudukan bar skrol Terdapat dua kaedah pelaksanaan yang sangat mudah:
Kaedah 1 (disyorkan: ringkas dan mudah):
Kaedah ini adalah kembali secara beransur-ansur ke atas, yang sepatutnya kelihatan lebih baik
functionpageScroll() {window.scrollBy(0,-10);scrolldelay=setTimeout('pageScroll()',100);}<ahref="pageScroll();">返回顶部</a>
if(document.documentElement.scrollTop==0)clearTimeout(scrolldelay);
Tambah dahulu: sebelum akhir teg badan halaman web
<divid="gotop">返回顶部</div>
BackTop=function(btnId){varbtn=document.getElementById(btnId);vard=document.documentElement;window.onscroll=set;btn.onclick=function(){btn.style.display="none";window.onscroll=null;this.timer=setInterval(function(){d.scrollTop-=Math.ceil(d.scrollTop*0.1);if(d.scrollTop==0)clearInterval(btn.timer,window.onscroll=set);},10);};functionset(){btn.style.display=d.scrollTop?'block':"none"}};BackTop('gotop');
<scriptsrc="/js/gotop.js"type=text/javascript></script>