jquery/javascript重新定义函数



由于我为一个朋友启动了这个新的网店,它仍在进行中,我正在使用所谓的"jQuery fixedCroll"。。

联机项目:http://www.merkversterkers.com/klanten/fragma/index.php?p=shop

在此之前一切都很好。。当我使用滚动插件时,它定义了页面的高度,这是一件好事。。

按下"filter"按钮后,必须预定义高度,从而导致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;
}

有人能给我一些我可以试试的代码吗?我真的很感激你的帮助。。

在不阅读问题的情况下,您应该更改以下内容:

limit: get_limit(),

对此:

limit: get_limit,

当您试图将函数设置为对象中的值时,不应使用括号。当你这样做的时候,你基本上是在评估函数,它的值会被返回,而不是实际的函数。

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    
}

查看插件的来源后的一个(未经测试的)想法:

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

相关内容

  • 没有找到相关文章

最新更新