从图像位置而不是页面的绳索开始对图像位置进行动画处理

发布于 2024-12-08 13:44:04 字数 551 浏览 1 评论 0原文

$('#container img')
                .clone()
                .appendTo('#container')
                .css({'position' : 'absolute','z-index':9999,marginLeft:-100})
                .animate({opacity: 0.1, left: 200,top:200,height:420}, 1000, function() {
                    $(this).remove();
                     actualizar(iGal);

            }); 

基本上我想将其向左移动 200px,向底部移动 200px, 但发生的情况是它被移动到页面左侧 200 像素和底部 200 像素

.css({'position','relative'});

,但是该位置没有动画化,

我错过了什么?我必须用偏移来做吗?

$('#container img')
                .clone()
                .appendTo('#container')
                .css({'position' : 'absolute','z-index':9999,marginLeft:-100})
                .animate({opacity: 0.1, left: 200,top:200,height:420}, 1000, function() {
                    $(this).remove();
                     actualizar(iGal);

            }); 

Basicalli i want to move it 200px to left and 200 to bottom,
but what happens is it gets moved to page cordenade 200px left and 200px bottom,

.css({'position','relative'});

instead, but then the position is not animed,

what am i missing? do i have to do it with offset?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

简单气质女生网名 2024-12-15 13:44:04

您可以使用

...
.animate({opacity: 0.1, left: "+=200",top:"+=200",height:420}, 1000, function() {
...

然后向 x 和 y 轴添加 200px

或者您可以先检测偏移量:

var offset = {
    x: $('#container img').offset().left,
    y: $('#container img').offset().top
};

...
.animate({opacity: 0.1, left: offset.x+200,top: offset.y+200,height:420}, 1000, function() {
...

jQuery offset 函数返回距浏览器窗口左上角和左上角的偏移量。还有另一个名为 position 的函数,它确定具有 position relativeabsolute 的第一个父元素的偏移量。

http://jsfiddle.net/UDb7V/

you can use

...
.animate({opacity: 0.1, left: "+=200",top:"+=200",height:420}, 1000, function() {
...

then you add 200px to the x and y axis

Or you can detect the offset first:

var offset = {
    x: $('#container img').offset().left,
    y: $('#container img').offset().top
};

...
.animate({opacity: 0.1, left: offset.x+200,top: offset.y+200,height:420}, 1000, function() {
...

The jQuery offset function returns the offset from the browser windows top and left corner. There are another function called position which determinate the offset to the first parent element having position relative or absolute.

http://jsfiddle.net/UDb7V/

何以笙箫默 2024-12-15 13:44:04

这是一个简单的例子。我试图只用动画的东西来分解它。您可以添加更多的复杂性。

HTML

<div id='#container'>
    <p>Text above the image</p>
    <img id='img' src='http://www.google.com/intl/en_com/images/srpr/logo3w.png' />
    <p>Text below the image</p>
    <button id='start'>Animate</button>
</div>

CSS

#container { position: relative; }

#img { position: relative; }

JAVASCRIPT

$('#start').click(function(){

    $('#img').animate({left:'100px', top:'100px'}, 1000, function(){
       alert('here');
    }); 

});

这是一个 jsFiddle: http://jsfiddle.net/cfrN2/1/

希望这个有帮助。

鲍勃

Here is a simple example. I tried to break it down with just the animation stuff. You can add back in more complexity.

HTML

<div id='#container'>
    <p>Text above the image</p>
    <img id='img' src='http://www.google.com/intl/en_com/images/srpr/logo3w.png' />
    <p>Text below the image</p>
    <button id='start'>Animate</button>
</div>

CSS

#container { position: relative; }

#img { position: relative; }

JAVASCRIPT

$('#start').click(function(){

    $('#img').animate({left:'100px', top:'100px'}, 1000, function(){
       alert('here');
    }); 

});

Here is a jsFiddle: http://jsfiddle.net/cfrN2/1/

Hope this helps.

Bob

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文