【问题标题】:Jquery Show/Hide shifts element to the right before showing or hidingJquery Show/Hide 在显示或隐藏之前将元素向右移动
【发布时间】:2009-06-22 06:23:43
【问题描述】:
$(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 之外,这在所有浏览器中都可以正常工作。在这两个浏览器中,第一个列表项向右移动,然后滑出视线。然后,下一个列表项向上滑动已经向右移动,向上滑动后向左移动到它所属的位置。

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

【问题讨论】:

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


    【解决方案1】:

    对不起,如果我的回答似乎有点不完善,但也许我可以给你一些想法。

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

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

    再次抱歉,缺乏具体性 - 也许您可以分享一些代码,或指出一个示例?

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-05
        • 2011-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多