1
$(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を使用して、一度に1つのリスト要素のみを表示します。これは、お気に入りのIE6とIE7を除くすべてのブラウザーで正常に機能します。これらの2つのブラウザーでは、最初のリストアイテムが右にシフトし、次にスライドして見えなくなります。次に、次のリストアイテムは、すでに右にシフトして上にスライドし、上にスライドした後、それが属する場所に左にシフトします。

私はこの問題についてかなり混乱しています、そしてどんな助けでもありがたいです。ありがとう。

4

2 に答える 2

1

私の答えが少し未熟に思えたら申し訳ありませんが、おそらくいくつかのアイデアを与えることができます.

考えられる問題は、スライド アニメーションが使用しているボックス モデルを考慮していないことです。これは、スライドが LI 要素を配置しようとしているが、LI の外側のパディング、マージン、または境界線によってオフセットの計算が間違っていることを意味している可能性があります。

CSSをチェックしてみます。また、HTML のより単純な (スタイル設定されていない) バージョンがまったく同じ Javascript で動作するかどうかをテストしてみてください。

繰り返しになりますが、具体性が欠けていて申し訳ありません。コードを共有するか、例を挙げていただけないでしょうか?

于 2009-06-22T06:44:24.867 に答える
0

本当に素晴らしい効果です ;) ここのコードは「上」と「下」の方向を使用していますが、左/右、右/下でもうまく機能します。list-style-type を none に、list-style-position を outside に設定しました。

list-style-type:none;
list-style-position:none;
于 2009-06-22T07:07:53.820 に答える