Jquery 设置动画,使一个div从屏幕外进入,浮动accross,退出屏幕,&;重复

Jquery 设置动画,使一个div从屏幕外进入,浮动accross,退出屏幕,&;重复,jquery,jquery-animate,css-animations,html5-animation,Jquery,Jquery Animate,Css Animations,Html5 Animation,我最近刚刚开始自学如何使用jquery函数,通常我可以自己解决问题(当然还有谷歌)。今天我的想法不多了,我发现自己基本上在兜圈子,所以我希望有人能帮我 好的,这是我正在使用的页面: 基本上,我要做的就是让cloud div从屏幕左侧进入,浮动到右侧(在中心元素后面),退出屏幕,然后重复。我一整天都在摆弄这条路,已经到了我不知道该走哪条路的地步:-/好吧,在这里 #bg-wrapper { max-width:2920px; overflow: hidden; margin

我最近刚刚开始自学如何使用jquery函数,通常我可以自己解决问题(当然还有谷歌)。今天我的想法不多了,我发现自己基本上在兜圈子,所以我希望有人能帮我

好的,这是我正在使用的页面:

基本上,我要做的就是让cloud div从屏幕左侧进入,浮动到右侧(在中心元素后面),退出屏幕,然后重复。我一整天都在摆弄这条路,已经到了我不知道该走哪条路的地步:-/好吧,在这里

#bg-wrapper {
    max-width:2920px;
    overflow: hidden;
    margin: 0 auto;
    background: url(images/Untitled-3.jpg) left top;
    background-size: 100% 924px;
    background-repeat:no-repeat;
    background-attachment: fixed;
}

#bg-inner {
    width:2305px;
    height: 1080px;
    position: absolute;
    overflow: hidden;   
    margin:0px;
}
#cloudone {
    position:absolute;
    margin-top:5px;
    margin-left:-200px;
    z-index: 1;
    filter:alpha(opacity=80);
  /* CSS3 standard */
        opacity:0.8;
}
#cloudtwo {
    position:absolute;
    margin-top:85px;
    margin-left:-300px;
    z-index: 2;
    filter:alpha(opacity=60);
  /* CSS3 standard */
        opacity:0.6;
}
#cloudthree {
    position:absolute;
    margin-top:65px;
    margin-left:-600px;
    z-index: 4;
    filter:alpha(opacity=70);
  /* CSS3 standard */
        opacity:0.7;
}
#boat {
    margin-top:620px;
    position:absolute;
    margin-right:-2105px;
    z-index: 6;
}
还有剧本

$(document).ready(function() {
    setTimeout("cloudone()",10);
    setTimeout("cloudtwo()",13);
    setTimeout("cloudthree()",18);
    setTimeout("boat()",40);
});
function cloudone(){
    $("#cloudone").animate({left:"600px"},5000).animate({right:"600px"}, 5000)
    setTimeout("cloudone()",10000);
}
function cloudtwo(){
    $("#cloudtwo").animate({left:"700px"},7000).animate({right:"700px"}, 6000)
    setTimeout("cloudtwo()",13000);
}
function cloudthree(){
    $("#cloudthree").animate({left:"1000px"},10000).animate({right:"1000px"}, 8000)
    setTimeout("cloudthree()",18000);
}
function boat(){
    $("#boat").animate({right:"2105px"},20000).animate({left:"2105px"}, 20000)
    setTimeout("boat()",40000);
}

通过向
动画
参数添加函数,动画完成后将调用该函数。在该函数中,可以重置云的位置。重置位置后,可以使用超时重新启动动画,就像您已经完成的那样

$("#cloudone").animate({left:"600px"},5000,function(){$("#cloudone").css({"left":"0px"});});

通过向
动画
参数添加函数,动画完成后将调用该函数。在该函数中,可以重置云的位置。重置位置后,可以使用超时重新启动动画,就像您已经完成的那样

$("#cloudone").animate({left:"600px"},5000,function(){$("#cloudone").css({"left":"0px"});});

看起来它在很大程度上起作用了。帆船看起来不错,对吧?我认为您希望增加所有项目的z索引,以便它们位于页面上所有其他项目的顶部。另外,只需将它们全部放在html的顶层。这样,其他层就不会优先显示在移动图形的顶部

<html>
<head>
 ...
</head>
<body>
  <img id="sailboat" />
  ...
</body>
</html>

...
...

看起来它大部分都在工作。帆船看起来不错,对吧?我认为您希望增加所有项目的z索引,以便它们位于页面上所有其他项目的顶部。另外,只需将它们全部放在html的顶层。这样,其他层就不会优先显示在移动图形的顶部

<html>
<head>
 ...
</head>
<body>
  <img id="sailboat" />
  ...
</body>
</html>

...
...

是的,里面有一个输入错误(缺少散列标记),但我认为这就是想法。我建议先让一个动画正常工作,然后对其他三个动画使用该模式。修复了丢失的“#”并添加了额外的函数来重新定位图像,成功了!经过一点调整后,效果非常好。看看吧:感谢你们所有人抽出时间来看一看并提供建议。我想我几乎有点疯了,试图让它在我自己的工作lol;)是的,这里面有一个输入错误(缺少散列标记),但我认为这就是想法。我建议先让一个动画正常工作,然后对其他三个动画使用该模式。修复了丢失的“#”并添加了额外的函数来重新定位图像,成功了!经过一点调整后,效果非常好。看看吧:感谢你们所有人抽出时间来看一看并提供建议。我想我几乎有点疯了,试图让它在我自己的工作lol;)