0

我有这个脚本:

<div style="position:relative ;overflow:hidden ; height:195px;">
    <div style="position:absolute" class="scroll">
    {foreach from=$announce_list item=a}
        <div>
        <img src="imgsize.php?w=214&h=100&img=../uploads/announce/{$a.--------}.jpg"  />
        <h4 dir="rtl" style="padding-top:10px; padding-bottom:5px;">{$a.------}</h4>
        <p dir="rtl" style="text-align:justify ;line-height:17px;">{$a.---------|truncate:"300":"..." }</p>
        </div>
    {/foreach}
    </div>
</div>
{literal}
    <script>
        $(function(){
            function change_announce()
            {
                console.log('asdasdasd');
                var Scroll = $('.scroll') ;
                Scroll.children('div:first').animate({marginTop:'-195px' } , 1000 , 
                function(){
                    Scroll.children('div:first').appendTo(Scroll).css('marginTop' , '0px' ).fadeIn(2000); 
                }
                ); 

            }
            setInterval(change_announce , 3000) ;
        });
    </script>
{/literal}

在此演示中,在站点www.mahestan.ac.ir的右窗格中的此页面上,隐藏第二个 div 后动画未完全执行下一个 div 未完成动画广告突然跳转发生!

4

1 回答 1

1

更新:在进一步检查您的代码后,我发现了小跳的原因。在动画中,您将 DIV 滚动到作为 div-195px高度的位置.scroll

但是,您必须padding-top:10px考虑padding-bottom:5px到。出于这个原因,您需要将-15px总数添加到数字-210px而不是-195px

更改此行:

Scroll.children('div:first').animate({marginTop:'-195px' } , 1000 ,

到:

Scroll.children('div:first').animate({marginTop:'-210px' } , 1000,
于 2009-06-09T21:23:05.430 回答