2012-02-07 51 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(); 
相关问题