调用除特定页面之外的jQuery函数

时间:2013-08-21 02:18:20

标签: jquery drupal

我是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);});

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

1 个答案:

答案 0 :(得分:0)

尝试

$(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);
    }