在显示或隐藏之前,Jquery Show / Hide将元素移到右侧

时间:2009-06-22 06:23:44

标签: javascript jquery internet-explorer jquery-ui show-hide

$(document).ready(function(){
        var speed = 700;
        var pause = 3500;
            function removeFirst(){
                $('ul#newsfeed li:first').hide('slide', {direction: "up"}, speed, function() {addLast(this);});
            }
            function addLast(first){
                $(first).insertAfter('ul#newsfeed li:last').show();
                $('ul#newsfeed li:first').show("slide", {direction: "down"}, speed);
            }

            interval = setInterval(removeFirst, pause);
    });

嗨,非常感谢您抽出宝贵时间帮助解决我的问题。继续… 这是新闻自动收录器的代码,它采用无序列表并将第一个元素移动到底部并将下一个元素滑动到顶部。我只使用css一次显示一个列表元素。除了我们的收藏夹IE 6和IE 7之外,这在每个浏览器中都能正常工作。在这两个浏览器中,第一个列表项向右移动,然后滑出视线。然后,下一个列表项已经向右滑动,并在向上滑动后向左移动到它所属的位置。

我对这个问题相当困惑,感谢任何帮助。 谢谢。

2 个答案:

答案 0 :(得分:1)

很抱歉,如果我的答案看起来有点欠发达,但也许我可以给你一些想法。

似乎一个可能的问题是幻灯片动画不考虑您正在使用的盒子模型。这可能意味着幻灯片正在尝试定位LI元素,但LI之外的某些填充,边距或边框会使偏移计算错误。

我会查看CSS。此外,尝试测试HTML的更简单(无样式)版本是否可以使用完全相同的Javascript。

再次,抱歉缺乏特异性 - 也许你可以分享一些代码,或指向一个例子?

答案 1 :(得分:0)

这是非常好的效果dude;)你的代码在这里使用方向“向上”和“向下”但它也适用于左/右,右/下也。我将list-style-type设置为none,将list-style-position设置为outside。

list-style-type:none;
list-style-position:none;