Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mengehadkan Julat Tatal Elemen Dalam Elemen Induk Bersaiz Dinamik?

Bagaimana untuk Mengehadkan Julat Tatal Elemen Dalam Elemen Induk Bersaiz Dinamik?

Linda Hamilton
Linda Hamiltonasal
2024-11-17 21:52:01219semak imbas

How to Limit Scrolling Range of an Element Within a Dynamically-Sized Parent Element?

Melaksanakan Had Ketinggian CSS untuk Elemen Tatal Menegak

Dalam antara muka interaktif, mengawal gelagat menatal elemen adalah penting untuk memastikan pengalaman pengguna dan kebolehcapaian. Satu senario sedemikian melibatkan pengehadan julat tatal elemen dalam elemen induk bersaiz dinamik.

Masalah:
Pertimbangkan reka letak di mana kita mempunyai DIV peta boleh tatal yang bergerak bersama-sama dengan tatal menegak pengguna, sambil mengekalkan penjajarannya dengan bar sisi tetap. Walau bagaimanapun, penatalan peta memanjang selama-lamanya, melebihi ketinggian port pandangan, menghalang pengguna daripada mengakses pengaki halaman.

Penyelesaian:
Untuk menangani isu ini dan mengehadkan penatalan peta, kami boleh memanfaatkan teknik CSS dan JavaScript.

Pertama sekali, kami mentakrifkan had ketinggian CSS untuk DIV peta menggunakan sifat "tinggi maksimum". Ini menetapkan ketinggian maksimum yang boleh dicapai oleh peta, memastikan ia tidak boleh melebihi ketinggian elemen induk.

peta {

tinggi maks: 500px;
}

Seterusnya, kami menggunakan JavaScript untuk menjejak kedudukan skrol pengguna dan melaraskan kedudukan peta dengan sewajarnya. Daripada menggunakan kaedah ".animate()" jQuery, kami memilih manipulasi CSS langsung atas sebab prestasi.

<br>$(window).scroll(function() {<br> var scrollVal = $(this).scrollTop();<br> if (scrollVal > $("#sidebar").offset().top) {</p>
<pre class="brush:php;toolbar:false">$("#map").css({
  marginTop: (scrollVal - $("#sidebar").offset().top) + "px"
});

} else {

$("#map").css({
  marginTop: "0px"
});

}
});

Dalam kod ini, kami mengira perbezaan antara kedudukan tatal dan bahagian atas offset bar sisi, dengan berkesan mengehadkan julat tatal peta dalam ketinggian bar sisi.

Pendekatan Alternatif:

Dalam sesetengah senario, pendekatan alternatif mungkin lebih disukai. Sebagai contoh, jika elemen peta mempunyai ketinggian tetap dan bar sisi mengembang secara dinamik, kami boleh memudahkan pengiraan.

<br>$(window).scroll(function() {<br> var scrollVal = $(this).scrollTop();<br> if (scrollVal > $(".header").height()) {</p>
<pre class="brush:php;toolbar:false">$("#map").css({
  position: "fixed",
  top: "0px"
});

} else {

$("#map").css({
  position: "static"
});

}
});

Dalam kes ini, kami menggunakan ketinggian pengepala sebagai titik rujukan kami, dengan anggapan ia kekal sebagai ketinggian tetap. Apabila kedudukan tatal melebihi ketinggian pengepala, kami membetulkan kedudukan peta ke bahagian atas port pandangan. Pendekatan ini memastikan peta menatal ke paparan pada masa yang sesuai, sambil kekal dalam ketinggian port pandangan.

Atas ialah kandungan terperinci Bagaimana untuk Mengehadkan Julat Tatal Elemen Dalam Elemen Induk Bersaiz Dinamik?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn