التغيير شعبة استنادا how far إلى أسفل الصفحة لديك تمريره

StackOverflow https://stackoverflow.com/questions/625143

  •  05-07-2019
  •  | 
  •  

سؤال

واني اسعى الى تغيير النص داخل شعبة على أساس مدى أسفل الصفحة التي تمريره. لقد تم ترقيع مع ارتفاع scrollTop وثيقة مسج لكنها فشلت حتى الآن في تحقيق النتائج المرجوة.

وكيف يمكنني الحصول على موقف من عنصر في الصفحة ومن ثم الحصول على مسج على فعل شيء مرة واحدة كنت قد تمريره إلى أن موقف العناصر؟

وهو محل تقدير كبير مساعدة!

هل كانت مفيدة؟

المحلول

وكان هناك سؤال حول ستاكوفيرفلوو أن يطلب شيئا من هذا القبيل، وأنا جلد حتى مثال صغير لتوضيح كيفية تحقيق ذلك. لا أستطيع أن أجد السؤال الآن، ولكن هنا هو المثال . في هذا المثال هناك شعبة الذي يظهر حتى انتقل إلى عنصر معين في صفحة وعند هذه النقطة في شعبة مخفيا. يمكنك تغيير هذا لتحقيق ما تريد، لأن الفكرة هي نفسها. هنا هو رمز للتعديل على ما تحتاج إليه:

$(document).ready(function() {
    function isScrolledIntoView(elem) {
        var docViewTop = $(window).scrollTop();
        var docViewBottom = docViewTop + $(window).height();

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

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

    var myelement = $('#formcontainer'); // the element to act on if viewable
    $(window).scroll(function() {
        if(isScrolledIntoView(myelement)) {
            // do something when element is scrolled to and viewable
        } else {
            // do something when element is not viewable
        }
    });
});

نصائح أخرى

PPK من quirksmode.org يمكن أن تظهر لك كيفية العثور على موقف عنصر: "يجد هذا السيناريو الموقف الحقيقي، لذلك إذا قمت بتغيير حجم الصفحة وتشغيل البرنامج النصي مرة أخرى، فإنه يشير إلى الموضع الجديد الصحيح للعنصر".

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top