我的问题类似于:How to increase/decrease current margin at a number by jquery?但是我无法调整解决方案以匹配我的代码。我一直都有错误。
我的CSS定义了$ logo变量,其margin-top为-82px。在我的下面的JS中,margin-top值正在滚动调整,但它假设margin-top的起始值为0.我怎么说它的-82px?
这是一个小故障的问题:http://jsfiddle.net/5DAa9/小心地向下滚动,你会注意到盒子跳了。
var $logo = $('.logo.abbr');
var windowScroll;
var $curValue = $( '.logo.abbr' ).css( "margin-top" );
// Functional parallaxing calculations
function slidingTitle() {
//Get scroll position of window
windowScroll = $(this).scrollTop();
//Slow scroll of .logo and fade it out
$logo.css({
'margin-top' : ($curValue-(windowScroll/3)+"px") // Assuming this is the line I need to change??
});
}
答案 0 :(得分:0)
快速修复......
windowScroll = $(this).scrollTop()+250;
为什么会这样,我不知道。我会继续四处寻找,看看我是否能解决这个问题,但这对我来说很有用
修改:
我发现了问题!!
windowScroll = $(this).scrollTop();
如果页面位于顶部,此行将返回0。你已经在滚动之前将你的边距设置为-82px,这样就可以在第一次滚动时删除并重新设置为0或滚动除以3的任何内容。所以你想要进行计算然后再减去82像素把它放在“同一个地方”或防止跳跃。
$logo.css({
'margin-top' : -(windowScroll/3)-82+"px"
});
这是一种丑陋的修复,但那是怎么回事。我假设任何缩放scrollTop返回的250相当于82px。下面是一个更新的小提琴:http://jsfiddle.net/5DAa9/3/