在jQuery中保留一个变量的原始值

问题描述:

所以我正在开发一个插件插件,我需要做的一件事就是在CSS中设置位置。在jQuery中保留一个变量的原始值

因此,可以说在CSS的人都有这样下来:

position: relative; 
top: 100px; 

我需要得到100像素位。这很简单!

var topMove = parseFloat($('#menu-complete').css('top')); 

后来我改变了项目的位置。

 var positionMovedMenu = (-(scroll * 1.4) + topMove); 
    $('#menu-complete').css({'position' : 'fixed', 'top' : positionMovedMenu+'px'}); 

不幸的是,这改变了topMove变量的值,因为CSS值'top'已经改变。我如何存储原始值?

+2

'topMove'没有改变; '$('#menu-complete').css('top')'的值已经改变。只要你不设置'topMove'等于其他任何东西,你就已经存储了原始值。 – Blazemonger

+0

对不起!我误解了这一点。基本上我的问题是,如何在不改变它的情况下存储$('#menu-complete').css('top')的原始值。价值改变,因为我正在移动的东西。 – Johnny

+0

使用'alert()'或'console.log'来确保'topMove'是你期望的。您的问题实际上可能在上述代码行之间。你能向我们展示更多吗? – Blazemonger

你可以使一个全局变量成为一个对象来容纳足够简单的信息。如果你有多个值,我建议将它们以对象格式存储。

+0

我设法解决了这个问题。这是我的代码有问题。不管怎么说,还是要谢谢你! – Johnny