将元素滑入容器中

时间:2013-04-10 10:29:34

标签: jquery css jquery-animate

我正在尝试将一些生成的元素定期滑入容器中。我正在尝试使用jQuery的.animate()。

到目前为止我所拥有的:

<div id="mainContainer">
     </div>

<div id="photoContainer" class="photocontclass" style="display:none">
        <img id="image" src="@Url.Action("Photo_Read", new { Id = 1})" />
    </div>

<script>
    var photoId = 2;

    $(document).ready(function () {
        setInterval(function () { getPhoto() }, 3000);
    });

    function getPhoto() {
        $("#photoContainer #image").attr("src", '@Url.Action("Photo_Read")' + '/' + photoId);
        var $new = $('#photoContainer').clone().attr("id", "photoContainer" + photoId);
        $('#timelineContainer').prepend($new);
        $new.show('slow');
        // do animation with animate...
        $new.animate({
            left:'-50%' // which properties should I have?
        }, 2000, "swing", function () {
            $(this).remove();
        });
        photoId++;
    } </script>

<style>

.photocontclass {
    display:inline;
    margin:10px;
    background-color:white;
    padding:5px;
    position:absolute;
}

#timelineContainer {
    background-color:grey;
    height:200px;
    width:100%;
    margin:10px;
    padding:10px;
}

</style>

$("#photoContainer")应该从容器的右侧进入,并从左侧出来......应该将其移除......

我有些疑惑:

  • 我应该在mainContainerphotoContainer(位置,左边等等)中拥有哪些CSS属性?
  • 我应该将photoContainer放在mainContainer
  • 的内部还是外部
  • 我应该在animate方法中拥有哪些属性?

1 个答案:

答案 0 :(得分:1)

您可以在JSFIDDLE找到一些答案。有一个简单的例子,说明你想做什么。

<div id="mainContainer">
<div id="photoContainer" class="photocontclass">
    <img id="image" src="@Url.Action("Photo_Read", new { Id = 1})" />
</div>
</div>

点击红色边框div。在CSS中,重要的是声明一个具有位置的div:相对于你要移动的div包裹它。位置:绝对和溢出:隐藏的移动div是mantadory。移动后,您可以隐藏或删除div。 我不确切知道时间线容器的用途是什么?