1

我是 jQuery 新手,我在使用该.not()功能时遇到了问题。

我正在尝试使用下面的代码(特别是底线)调用除某些页面之外的函数,但没有成功:

$(window).load(function()
{
    function fixDiv() 
    {
        var $div = $('td#cke_top_edit-body-und-0-value');      

        if ($(window).scrollTop() > 245) 
        {
            $div.css({'background':'grey', 'position': 'fixed', 'top': '0', 'width': '100%'}); 
        }
        else 
        {
            $div.css({'background':'none','position': 'static', 'top': 'auto', 'width': '100%'});
        }
    }

    $(window).not('body.page-node-add-event, body.page-node-add-activity, body.page-node-add-board-agenda, body.page-node-add-daily-lunch-menu, body.page-node-add-event, body.page-node-add-job-posting').scroll(fixDiv);});

我很感激任何建议!它仍在所有页面上调用该函数。

4

1 回答 1

1

尝试

$(function(){
    function fixDiv() {
        var $div = $('td#cke_top_edit-body-und-0-value');      

        if ($(window).scrollTop() > 245) {
            $div.css({'background':'grey', 'position': 'fixed', 'top': '0', 'width': '100%'}); 
        } else {
            $div.css({'background':'none','position': 'static', 'top': 'auto', 'width': '100%'});
        }
    }

    if(!$('body').is('.page-node-add-event, .page-node-add-activity, .page-node-add-board-agenda, .page-node-add-daily-lunch-menu, .page-node-add-event, .page-node-add-job-posting')) {
        $(window).scroll(fixDiv);
    }
});

但是,不要像上面那样为每个页面添加类,我建议您向no-scroll那些您不想启用滚动的页面添加一个类

    if(!$('body').is('.no-scroll')) {
        $(window).scroll(fixDiv);
    }
于 2013-08-21T02:54:56.767 回答