2

bottom borderユーザーが特定のポイントの後にスクロールしたときに、要素にa を追加しようとしています。何らかの理由で、このスクリプトは何もしていません。コードは次のとおりです。

$(document).ready(function(){
    $(window).scroll(function(){
        var posFromTop = $(window).scrollTop();

        if(posFromTop > 515){
            // if more than 200px from the top do something
            $(function(){
                $(".menu").css({ border-bottom: "2px solid #ff4141": });
            });
        } else {
            // otherwise do something else.
            $(function(){
                $(".menu").css({ 'border-bottom', 'none': });
            });
        }
    });
});

よろしくお願いいたします。

4

2 に答える 2

4
  • に appostrofs/quotes を追加するのを忘れたborder-bottomか、使用できますborderBottom
  • $(function(){のショートカットな$(document).ready(function(){ので、ラッパーとして使用しないでください
  • if/else as ( condition ? true : false )... の短縮形を使用するか、次のように要素をキャッシュしてパフォーマンスを向上させることができます$menu = $('.menu')$menu.css(...

jQuery コード:

$(document).ready(function(){
    $(window).scroll(function(){
        var posFromTop = $(window).scrollTop();
        $(".menu").css({ 'border-bottom': (posFromTop>515 ? "2px solid #ff4141" : "none") });
    });
});
于 2013-06-29T13:08:48.753 に答える
0

キャメル ケースの構文を使用します。

 $(".menu").css({ borderBottom: "2px solid #ff4141": });

または、プロパティを引用符で囲みます:

$(".menu").css({ "border-bottom": "2px solid #ff4141": });

そして、この行は間違っています:

$(".menu").css({ 'border-bottom', 'none': });

次のようにする必要があります。

$(".menu").css({ borderBottom : 'none' });
于 2013-06-29T13:06:25.300 に答える