اذهب إلى المحتوى

السؤال

نشر

في صفحة html أقوم بجلب البيانات عن طريق Ajax، والعناصر الجديدة تظهر فقط بعد عملية التمرير scrolling، فكيف أتأكد من أن عصراً معيّن يظهر على الشاشة أم لا؟

Recommended Posts

  • 0
نشر

إليك الكود التالي:

function isScrolledIntoView(elem)
{
    var $elem = $(elem);
    var $window = $(window);

    var docViewTop = $window.scrollTop();
    var docViewBottom = docViewTop + $window.height();

    var elemTop = $elem.offset().top;
    var elemBottom = elemTop + $elem.height();

    return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}

الوظيفة السابقة، تقبل elem عنصر كمُدخل لها، أي العنصر الذي نريد التأكد من ظهوره على الشاشة في صفحة html، وبعملية المقارنة بين مكان تواجد هذا العنصر والجزئية المرئية من صفحة html، يمكن التعرف على حالة العنصر بالمقارنة مع الشاشة، يعني هل هو مرئي أم لا.

وفي الأخير تُرجع الوظيفة حالة العنصر true في حالة كان ظاهراً وfalse في حالة كان العكس.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...