2012-02-07 94 views
1

自從我開始這個新的網絡商店的朋友推出,其仍在進行中, 我使用所謂的「jQuery的fixedScroll」 ..的jQuery/JavaScript的重新定義函數

項目在線:http://www.merkversterkers.com/klanten/fragma/index.php?p=shop

一切都很好,直到這個.. 當我使用scrollplugin,它定義的頁面,這是一件好事的高度..

必須預先定義造成一個div按下「過濾器」按鈕後的高度這將擴大,我無法這樣做,因爲文檔定義■當它的加載高度..

像 「$(文件)。就緒」 功能

scrollfunction

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

get_limit functon

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; 
} 

可有人給我扔一些我可以嘗試的代碼? 我非常感謝所有幫助..

回答

1

不讀問題,你應該改變這樣的:

limit: get_limit(), 

要這樣:

limit: get_limit, 
+1

呵呵,沒有不行,因爲我m調用一個函數,而不是一個變量..抱歉夥伴 – 2012-02-07 01:05:52

+0

我試過了,它通常是類似的東西,雖然,你不會相信'$('div')。click(fun())'quesions'我們得到的數量 – qwertymk 2012-02-07 01:15:58

+0

我知道,thn x無論如何幫助..! – 2012-02-07 01:28:28

1

當你試圖設置一個函數作爲對象中的值不應使用括號。當你這樣做時,你基本上正在評估函數,它的值將被返回而不是實際的函數。

var myObject = { 
    myFunction: funkyFunk() 
}; 

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

但是,這是你需要什麼......看plugin's source

var myObject = { 
    myFunction: funkyFunk 
}; 

function funkyFunc(){ 
    // You probably want this though  
} 
+0

好吧,對我來說似乎很好.. 根據之前的答案..然而.. 當我打電話給get_limit .. 它不會識別的功能,也許一些提示離開? – 2012-02-07 01:29:34

+0

你有沒有在函數中加入某種console.log或alert,以便100%確定它沒有被調用? – jcreamer898 2012-02-07 01:47:53

+0

我試過了,沒成功抱歉 – 2012-02-07 08:47:25

0

的(未經測試)的想法:

var scrollToFixedObj = $('#scart').data("ScrollToFixed"); 
scrollToFixedObj.options.marginTop = get_limit(); 
相關問題