0

jcarousel を使用してスクロール スライドショーを作成していますが、いくつかのカスタマイズが必要です。アイテムがカルーセルで最後に表示されるアイテムになるたびに参照されるコールバック関数があります。

1. function mycarousel_itemLastInCallback(carousel, item, idx, state) {
          display('Item #' + idx + ' is now the last item');
      };

ここでこれがどのように機能するかを確認できます。私がやりたいのは、ディスプレイが現在の画像のキャプションだけを表示するように、この関数を変更することです。キャプション データを各画像の alt タグに入れようと思いますが、どのようにアクセスすればよいでしょうか。関数内で次のようなことを試しました:

var theimage=item.next(); var thetext=theimage.alt; display('thetext');

...うまくいきませんでした。私はここで私の頭の上にいます!うまくいけば、誰かが私を啓発します。

2 つ目は、データが表示ボックス内の前のデータに追加されることです。前のキャプションを置き換えるには、各キャプションが必要です。それを行う方法もわかりません。これを制御する jcarousel コードの一部を次に示します。

変数行 = 1; function display(s) { // 利用可能な場合は Firebug (getfirebug.com) に記録します //if (window.console != undefined && typeof window.console.log == 'function') // console.log(s);

      if (row >= 1000)
          var r = row;
      else if (row >= 100)
          var r = ' ' + row;
      else if (row >= 10)
          var r = '  ' + row;
      else
          var r = '   ' + row;

      jQuery('#display').html(jQuery('#display').html() + r + ': ' + s + '<br />').get(0).scrollTop += 10000;

      row++;
  };

どんな助けでも大歓迎です!ありがとう

4

1 に答える 1

1

まず、おそらく attr('alt') を使用して要素の属性にアクセスすることを検討する必要があります。

その後、display() メソッドを見ると、文字列を受け入れます。thetext という変数を表示する必要がある場合は、構文が正しくありません。次のようなものが必要です。

var thetext= $(image).attr('alt'); 表示(テキスト);

あなたのサンプルでは、​​行:

var theimage=item.next();

「theimage」はおそらくすでに jquery でラップされた html 要素であることを意味します。そうだとすれば:

var thetext= image.attr('alt'); 表示(テキスト);

それを超えて、私は個人的にウェブページの例を見る必要があります. jsfiddler.net でページをセットアップし、それでも問題が解決しない場合はリンクをここに戻してください

于 2010-07-21T12:14:08.520 に答える