簡體   English   中英

如何使用jQuery這個對象?

[英]How can I use this object of jQuery?

我正在構建主題,並且僅當該元素在瀏覽器的視口中可見時,我才希望為該元素運行一些代碼。 為此,我找到了以下代碼,但不確定如何使用它:

$.fn.isOnScreen =   function()
{
    var win =   $(window);
    var viewport    =   {
        top  : win.scrollTop(),
        left : win.scrollLeft()
    };

    viewport.right  =   viewport.left   +   win.width();
    viewport.bottom =   viewport.top    +   win.height();

    var bounds      =   this.offset();

    bounds.right    =   bounds.left + this.outerWidth();
    bounds.bottom   =   bounds.top + this.outerHeight();

    return (!(viewport.right < bounds.left || viewport.left > bounds.right || viewport.bottom < bounds.top || viewport.top > bounds.bottom));
};

我已經嘗試過這種方式:

$(this).isOnScreen().css('color', '#0AF');

但是我收到錯誤信息Uncaught TypeError: undefined is not a function控制台中Uncaught TypeError: undefined is not a function

有人可以用這種方法幫助我嗎,我該如何使用呢?

isOnScreen()函數返回一個布爾值,而不是jQuery對象,因此您不能從中鏈接jQuery方法。 嘗試這個:

if ($(this).isOnScreen()) {
    $(this).css('color', '#OAF');
}

另外,我不理解僅在屏幕上更改顏色的意義-如果不在屏幕上,則看不到它,因此永遠只能看到一種顏色。

您可以先使用.css()設置css,以返回當前對象,然后使用您編寫的isOnscreen方法:

$(this).css('color', '#0AF').isOnScreen();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM