أحدث البرامج التعليمية وتطوير الشبكة
 

HTML DOM scrollTop Propery

<كائن العنصر

مثال

الحصول على عدد من بكسل محتوى <div> يتم تمريره عنصر أفقيا وعموديا:

var elmnt = document.getElementById("myDIV");
var x = elmnt.scrollLeft;
var y = elmnt.scrollTop;
انها محاولة لنفسك »

أكثر "Try it Yourself" الأمثلة أدناه.


تعريف والاستخدام

مجموعات الملكية scrollTop أو إرجاع عدد البكسل يتم تمريره محتوى عنصر في عموديا.

نصيحة: استخدم scrollLeft الملكية لتعيين أو إرجاع عدد بكسل يتم تمريره محتوى عنصر أفقيا.

نصيحة: لإضافة التمرير إلى عنصر، استخدم CSS تجاوز الممتلكات.

تلميح: onscroll يحدث الحدث عندما يتم تمريره شريط التمرير للعناصر.


دعم المتصفح

خاصية
scrollTop نعم فعلا نعم فعلا نعم فعلا نعم فعلا نعم فعلا

بناء الجملة

إعادة الممتلكات scrollTop:

element .scrollTop

تعيين الخاصية scrollTop:

element .scrollTop= pixels

قيم الممتلكات

القيمة وصف
pixels يحدد عدد بكسل يتم تمريره محتوى العنصر عموديا.

ملاحظات خاصة:
  • إذا كان الرقم هو قيمة سالبة، يتم تعيين العدد إلى "0"
  • إذا لا يمكن تمريره عنصر، يتم تعيين العدد إلى "0"
  • إذا كان الرقم أكبر من الحد الأقصى المسموح به مقدار التمرير، يتم تعيين العدد إلى العدد الأقصى

تفاصيل تقنية

قيمة الإرجاع: الرقم الذي يمثل عدد وحدات البكسل التي تم تمريره محتوى العنصر عموديا

أمثلة

مزيد من الأمثلة

مثال

انتقل محتويات <div> عنصر إلى 50 بكسل أفقيا وعموديا 10 بكسل:

var elmnt = document.getElementById("myDIV");
elmnt.scrollLeft = 50;
elmnt.scrollTop = 10;
انها محاولة لنفسك »

مثال

انتقل محتويات <div> عنصر BY 50 بكسل أفقيا وعموديا 10 بكسل:

var elmnt = document.getElementById("myDIV");
elmnt.scrollLeft += 50;
elmnt.scrollTop += 10;
انها محاولة لنفسك »

مثال

انتقل محتويات <body> بنسبة 30 بكسل أفقيا وعموديا 10 بكسل:

var body = document.body; // For Chrome, Safari and Opera
var html = document.documentElement; // Firefox and IE places the overflow at the <html> level, unless else is specified. Therefore, we use the documentElement property for these two browsers
body.scrollLeft += 30;
body.scrollTop += 10;
html.scrollLeft += 30;
html.scrollTop += 10;
انها محاولة لنفسك »

مثال

تبديل بين أسماء فئة على مواقع التمرير مختلفة - وعندما تمرير المستخدم بنسبة 50 بكسل من أعلى الصفحة اسم الفئة "test" ستضاف إلى عنصر (and removed when scrolled up again) .

window.onscroll = function() {myFunction()};

function myFunction() {
    if (document.body.scrollTop > 50 || document.documentElement.scrollTop > 50) {
        document.getElementById("myP").className = "test";
    } else {
        document.getElementById("myP").className = "";
    }
}
انها محاولة لنفسك »

مثال

الانزلاق في عنصر عندما قام المستخدم تمريره أسفل 350 بكسل من الجزء العلوي من الصفحة (add the slideUp class) :

window.onscroll = function() {myFunction()};

function myFunction() {
    if (document.body.scrollTop > 350 || document.documentElement.scrollTop > 350) {
        document.getElementById("myImg").className = "slideUp";
}
انها محاولة لنفسك »

مثال

رسم المثلث على التمرير:

<!-- Use SVG to draw the triangle (has to be <path>) -->
<svg id="mySVG">
  <path fill="none" stroke="red" stroke-width="3" id="triangle" d="M150 0 L75 200 L225 200 Z">
</svg>

<script>
// Get the id of the <path> element and the length of <path>
var triangle = document.getElementById("triangle");
var length = triangle.getTotalLength();

// The start position of the drawing
triangle.style.strokeDasharray = length;

// Hide the triangle by offsetting dash. Remove this line to show the triangle before scroll draw
triangle.style.strokeDashoffset = length;

// Find scroll percentage on scroll (using cross-browser properties), and offset dash same amount as percentage scrolled
window.addEventListener("scroll", myFunction);

function myFunction() {
    var scrollpercent = (document.body.scrollTop + document.documentElement.scrollTop) / (document.documentElement.scrollHeight - document.documentElement.clientHeight);

    var draw = length * scrollpercent;

    // Reverse the drawing (when scrolling upwards)
    triangle.style.strokeDashoffset = length - draw;
}
</script>
انها محاولة لنفسك »


<كائن العنصر