1

由于 IE 和世界其他地方之间的一些 css 限制,我被迫使用 .animate 作为 % 而不是 px 或 objectToMove 跳转(仅限 IE)然后动画。

因此,如果使用以下内容

 $('.myClick').click(function() {
  $('.objectToMove').animate({
    top: '+=10%'
          }, 'fast', function() {
    // Animation complete.
  });
});

它将 objectToMove 移动屏幕高度的 10%。我想将它移动为 objectToMove 高度的 10%。

这是否可能无需获取屏幕和对象高度并计算对象与屏幕高度的百分比等?

例子

画布大小 = 720px

objectToMove = 100px

我想将 objectToMove 移动 10px 而不是 72px

谢谢艺术

4

2 回答 2

1

以一种简单的方式,

top: '+=' + ( $('.objectToMove').height() / 100 ) * 10;

您可以获得对象所需的百分比高度

于 2012-06-22T06:25:58.737 回答
0

这就是我所拥有的。如果您被迫继续按百分比工作,这应该有效。

首先,我将获得元素的高度和 HTML。

var moveObject = $('.objectToMove').height();
var html = $('html').height();

然后我要找出将物体移动到其自身高度的 10% 会是什么

var distance = (moveObject/html)*10;

现在,我要将对象从顶部移动 10% 的高度。

$('.objectToMove').animate({
    top: '+='+distance+'%'},1500);

我对此进行了测试,它对我有用。让我知道它是否不起作用。

于 2012-06-22T06:16:26.460 回答