Rumah >hujung hadapan web >tutorial js >Cara membuat bar skrol tersuai menggunakan HTML, CSS dan jQuery

Cara membuat bar skrol tersuai menggunakan HTML, CSS dan jQuery

王林
王林asal
2023-10-25 09:41:08712semak imbas

Cara membuat bar skrol tersuai menggunakan HTML, CSS dan jQuery

Cara membuat bar skrol tersuai menggunakan HTML, CSS dan jQuery

Dalam proses pembangunan web, bar skrol adalah komponen yang sangat diperlukan untuk menatal kandungan web. Walaupun penyemak imbas sudah menyediakan gaya dan fungsi bar skrol secara lalai, kadangkala kami mahu dapat menyesuaikan gaya bar skrol agar sesuai dengan keperluan reka bentuk kami. Artikel ini akan memperkenalkan cara menggunakan HTML, CSS dan jQuery untuk mencipta bar skrol tersuai, dan memberikan contoh kod khusus.

Pertama, kita memerlukan struktur HTML yang mudah, termasuk kawasan untuk ditatal dan bekas bar skrol.

<div class="scroll-area">
  <div class="content">
    <!-- 这里是需要滚动的内容 -->
  </div>
</div>
<div class="scrollbar">
  <div class="thumb"></div>
</div>

Seterusnya, kami menggunakan gaya CSS untuk mencantikkan bar skrol dan bekas bar skrol.

.scroll-area {
  width: 300px;
  height: 200px;
  overflow: hidden;
  position: relative;
}
.content {
  width: 100%;
  height: 1000px; /* 这里是需要滚动的内容的高度 */
}
.scrollbar {
  position: absolute;
  top: 0;
  right: 0;
  width: 10px;
  height: 100%;
  background-color: #eee;
}
.thumb {
  width: 100%;
  height: 50px; /* 这里是滚动条的高度 */
  background-color: #999;
  cursor: pointer;
}

Dengan cara ini, kami telah menentukan gaya bar skrol asas.

Seterusnya, kita boleh menggunakan jQuery untuk mencapai kesan interaktif bar skrol, termasuk menyeret bar skrol untuk menatal kawasan kandungan.

$(document).ready(function() {
  var $area = $('.scroll-area'),
      $content = $('.content'),
      $scrollbar = $('.scrollbar'),
      $thumb = $('.thumb');
  
  var contentHeight = $content.height(),
      areaHeight = $area.height(),
      scrollbarHeight = (areaHeight / contentHeight) * areaHeight,
      thumbHeight = scrollbarHeight;
  
  $thumb.height(thumbHeight);
  
  $thumb.draggable({
    axis: 'y',
    containment: 'parent',
    drag: function(event, ui) {
      var dragOffset = ui.position.top,
          scrollbarOffset = (dragOffset / areaHeight) * contentHeight;
      
      $content.css('top', -scrollbarOffset);
    }
  });
});

Dalam kod ini, kami menentukan ketinggian bar skrol dan kawasan seret dengan mengira ketinggian kawasan kandungan, ketinggian bekas bar skrol dan ketinggian bar skrol. Kemudian, kami menggunakan kaedah boleh seret UI jQuery untuk menjadikan bar skrol boleh diseret, dan dengan mengira offset penyeretan bar skrol, kami menetapkan offset kawasan kandungan untuk mencapai kesan skrol.

Pada ketika ini, kami telah menyelesaikan pelaksanaan bar skrol tersuai yang ringkas dan menyediakan contoh kod yang berkaitan melalui HTML, CSS dan jQuery.

Sila ambil perhatian bahawa contoh kod yang disediakan dalam artikel ini hanyalah kaedah pelaksanaan, dan anda boleh melaraskan dan mengembangkannya mengikut keperluan sebenar. Saya harap artikel ini membantu anda memahami cara membuat bar skrol tersuai.

Atas ialah kandungan terperinci Cara membuat bar skrol tersuai menggunakan HTML, CSS dan jQuery. 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