0

私はこのjqueryコードを持っています:

$(function(){

    var $win = $(window);
    var $nav = $('.subnav');
    var navTop = $('.subnav').length && $('.subnav').offset().top - 38;
    var isFixed = 0;

    processScroll();

    $win.on('scroll', processScroll);

    function processScroll() {
        console.log('test');
        var i, scrollTop = $win.scrollTop();
        if (scrollTop >= navTop && !isFixed) {
            isFixed = 1;
            $nav.addClass('subnav-fixed');
        } else if (scrollTop <= navTop && isFixed) {
            isFixed = 0;
            $nav.removeClass('subnav-fixed');
        }
    };
})

たとえば、このURLがある場合:

http://mydomain.com/postsまたはhttp://mydomain.comまたはhttp://mydomain.com/post?utf8=✓&amp;search=

コードは正常に機能しますが、たとえば次の場合は次のようになります。

http://mydomain.com/post?utf8=✓&amp;search=portまたhttp://mydomain.com/post?utf8=✓&amp;search=word

コードが正常に機能しません...

検索エンジンでURLのパラメータを渡すと、コードが正常に機能しないのはなぜですか?

どうもありがとうございます!

編集済み

私はこの黒点solrを検索エンジンとして使用しています

http://sunspot.github.com/

4

1 に答える 1

0

私はこの質問で修正を見つけました:

ブートストラップのメインナビゲーションとサブナビゲーションを複製する

これはコードです:

$(document).scroll(function(){
    // If has not activated (has no attribute "data-top"
    if (!$('.subnav').attr('data-top')) {
        // If already fixed, then do nothing
        if ($('.subnav').hasClass('subnav-fixed')) return;
        // Remember top position
        var offset = $('.subnav').offset()
        $('.subnav').attr('data-top', offset.top);
    }

    if ($('.subnav').attr('data-top') - $('.subnav').outerHeight() <= $(this).scrollTop())
        $('.subnav').addClass('subnav-fixed');
    else
        $('.subnav').removeClass('subnav-fixed');
});

ありがとうございました

于 2012-05-20T13:07:57.073 に答える