由于我为一个朋友启动了这个新的网店,它仍在进行中,我正在使用所谓的"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();