1

友人が立ち上げるためにこの新しいWebショップを開始しましたが、まだ進行中なので、いわゆる「jQueryfixedScroll」を使用しています。

オンラインプロジェクト:http ://www.merkversterkers.com/klanten/fragma/index.php?p = shop

これまではすべて問題ありません。scrollpluginを使用している場合、ページの高さを定義します。これは良いことです。

「フィルター」ボタンを押した後、高さを事前定義してdivを拡張する必要がありますが、ドキュメントが読み込まれたときに高さを定義しているため、これを行うことはできません。

「$(document).ready」関数のように

スクロール機能

$('#scart').scrollToFixed({
   marginTop: $('.topbar').outerHeight() + 30,
   limit: get_limit(),
   zIndex: 999
});

get_limit関数

function get_limit(){
    var products_row = 4;

    var topbar = $(".topbar").height() + 30 
    var filterbar = $(".filterbar").height();
    var products = products_row * 206;

    if( $(".filterexpanded").css('display') == "block" ){
        var expanded = $(".filterexpanded").height(); 
    } else {
        var expanded = 0;
    }   

    var cartheight = $("#scart").height();

    var limit = topbar + filterbar + expanded + products + 130 - cartheight;

    return limit;
}

誰かが私が試すことができるいくつかのコードを私に投げてくれるでしょうか?私は本当にすべての助けをいただければ幸いです。

4

3 に答える 3

1

質問を読まずに、これを変更する必要があります。

limit: get_limit(),

これに:

limit: get_limit,
于 2012-02-07T00:55:33.810 に答える
1

関数をオブジェクトの値として設定しようとしているときは、括弧を使用しないでください。そうすると、基本的に関数を評価することになり、実際の関数の代わりにその値が返されます。

var myObject = {
    myFunction: funkyFunk()
};

function funkyFunc(){
    var funkierFunction(){
        // You COULD do this
    };
    return funkierFunction;
}

しかし、これはあなたが必要とするものです...

var myObject = {
    myFunction: funkyFunk
};

function funkyFunc(){
    // You probably want this though    
}
于 2012-02-07T01:00:43.073 に答える
0

プラグインのソースを見た後の(テストされていない)アイデア:

var scrollToFixedObj = $('#scart').data("ScrollToFixed");
scrollToFixedObj.options.marginTop = get_limit();
于 2012-02-07T01:22:14.890 に答える