Anonim kullanıcı
Daha
Kullanıcı jQuery ile görünümün dışına kaydırdığında tablo başlığının üstte sabit kalması
Kullanıcı sayfayı kaydırarak görünümden çıkardığında VE SADECE başlığın sayfanın en üstünde kalacağı bir HTML tablosu tasarlamaya çalışıyorum. Örneğin, tablo sayfadan 500 piksel aşağıda olabilir, kullanıcı başlığı görünümün dışına kaydırırsa (tarayıcı artık bir şekilde pencere görünümünde olmadığını algılar), üstte kalmasını nasıl sağlayabilirim? Bunun için bana bir Javascript çözümü verebilecek olan var mı?
<table>
<thead>
<tr>
<th>Col1</th>
<th>Col2</th>
<th>Col3</th>
</tr>
</thead>
<tbody>
<tr>
<td>info</td>
<td>info</td>
<td>info</td>
</tr>
<tr>
<td>info</td>
<td>info</td>
<td>info</td>
</tr>
<tr>
<td>info</td>
<td>info</td>
<td>info</td>
</tr>
</tbody>
</table>
Yani yukarıdaki örnekte, <thead>
ın görünümden çıkması durumunda sayfayla birlikte kaymasını istiyorum.
ÖNEMLİ: <tbody>
nin bir kaydırma çubuğuna (overflow:auto) sahip olacağı bir çözüm HAYIR arıyorum.
136
3
Bunun gibi bir şeyi
window
üzerindekiscroll
olay işleyicisine dokunarak ve sayfanın üst kısmında başlığı göstermek için sabit bir konuma sahip başka birtable
kullanarak yapabilirsiniz.HTML:
CSS:
JavaScript:
Bu, kullanıcı orijinal tablo başlığını gizleyecek kadar aşağı kaydırdığında tablo başlığını gösterecektir. Kullanıcı sayfayı tekrar yeterince yukarı kaydırdığında tekrar gizlenecektir.
Çalışma örneği: http://jsfiddle.net/andrewwhitaker/fj8wM/
Ben de aynı etkiyi sabit boyutlu sütunlara başvurmadan veya tüm tablo için sabit bir yüksekliğe sahip olmadan elde etmeye çalışıyordum.
Bulduğum çözüm bir hack. Tüm tabloyu çoğalttıktan sonra başlık hariç her şeyi gizlemek ve bunun sabit bir konuma sahip olmasını sağlamaktan oluşuyor.
HTML
javascript
Sütun genişliklerini değiştirerek sorunu çözebildim. Andrew'un yukarıdaki çözümüyle başladım (çok teşekkürler!) ve sonra klonlanmış td'lerin genişliklerini ayarlamak için küçük bir döngü ekledim:
Bu, tüm tabloyu klonlamak ve gövdeyi gizlemek zorunda kalmadan sorunu çözer. JavaScript ve jQuery'de (ve stack overflow'da) çok yeniyim, bu yüzden her türlü yorumunuz için teşekkür ederim.