如何创建:平滑滚动

学习如何使用 CSS 创建平滑的滚动效果。

سارکولیشن میں ہموار رول آؤٹ

Section 1
مجھ پر کلک کریں، سارکولیشن میں ہموار رول آؤٹ سے نیچل کا دوسرا حصہ تک جائیں

لنک پر کلک کرکے ‘سارکولیشن میں ہموار رول آؤٹ’ کا اثر دیکھیں

توجہ:scroll-behavior کی خاصیت کو داری سکتے ہیں تاکہ سارکولیشن میں ہموار رول آؤٹ کو متوقف کریں

سارکولیشن میں ہموار رول آؤٹ

کو <html> علامت میں شامل کریں scroll-behavior: smooth پورے صفحے کی سارکولیشن میں ہموار رول آؤٹ کو چالو کریں سکتے ہیں:

توجہ:اس کو بھی کسی علاقے/سارکولیشن کانٹینر میں شامل کریں سکتے ہیں。

مثال

html {
  scroll-behavior: smooth;
}

سوائی چک کریں

براوزر کی پشتیبندگی

جداول میں کی گئی تعداد کو پہلے براوزر کی شکل میں اس اسارکولیشن کا پورا پشتیبند بنانے والی نسخہ کا نشان دہی کرتی ہے。

کروم ایجی فائر فاکس سافری آپریا
کروم ایجی فائر فاکس سافری آپریا
61.0 79.0 36.0 14.0 48.0

کوئی براہ راست کوسلوشن

برای کسانی که پشتیبند نہیں ہیں، scroll-behavior کو پشتیبند نہ ہونے والے براوزر کے لئے، آپ جاوا اسکریپت یا جاوا اسکریپت کتابخانه (مثلاً jQuery)کے ذریعہ سبھی براوزر کے لئے حل تیار کریں:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
  // تمام لنکس میں سارکولیشن میں ہموار رول آؤٹ کا اضافہ کریں
  $("a").on('click', function(event) {
    // کچھ ترتیب کریں تاکہ کسی کوشش کی جائے قبل کہ this.hash کا مقصد بہتر بنائے جائے
    if (this.hash !== "") {
      // کچھ ترتیب کریں تاکہ کسی کوشش کی جائے
      event.preventDefault();
      // ہارش والو کو ذخیرہ کریں
      var hash = this.hash;
      // جی کوئئی کا animate() طریقہ استعمال کرکے سارکولیشن میں ہموار رول آؤٹ کا اضافہ کریں
      // اختیاری عدد (800) کو اس میلسی ثانیوں کی شکل میں اس سارکولیشن کے لئے شامل کریں جو کسی علاقے تک جائے
      $('html, body').animate({
        scrollTop: $(hash).offset().top
      }, 800, function(){
        // پس سارکولیشن مکمل ہونے کے بعد، اناگر (#) کو URL میں شامل کریں (مجوز کیا ہوا عمل)
        window.location.hash = hash;
      });
    } // End if
  });
});
</script>

سوائی چک کریں

مربوط ویب پہلے

مرجع:سی ایس ایس سکرول بیہوویئر پرپرٹی