1

私はstaging.asla.org/sustainablesites/secondary.htmlにあるスライド ショーを持っています。このスライド ショーは、easySlider プラグインを使用し、さらに jQuery Toggle 関数も使用しています。

現在、スライド ショーをナビゲートすると、説明は表示または非表示のままになります。説明が表示されている場合に次のボタンをクリックすると、スライド ショーのナビゲーションでトグル機能を制御したいと思います。

これは実行可能ですか?

ありがとう!

4

2 に答える 2

1

これを試すことができます...それほどきれいではありませんが、機能します。$(document).ready(function(){ の中に追加します

$("#nextBtn,#prevBtn").live('click',function(){
 if ($('.block').css('display') != 'none') {
  $(".block").slideToggle().slideToggle();   
 }
})

そのifステートメントの代わりに..使用する方がきれいかもしれません:

if ($('.block').is(':visible')) {...}
于 2009-08-27T18:18:32.220 に答える
0

これについては詳しく調べていませんが、プラグインなので、できないと思います。

おそらくプラグインを変更する必要があります。ただし、最初に、セットアップ コードを次のように変更し、ティーザーをオプションとして渡します。

    var options = {
        teaser: $("#slider li .block")
    };

いいえ、プラグインを変更します。これはほとんど機能しますが、おそらくもう少しうまく書くことができます。

    $("#slider").easySlider(options);

        $("a", "#" + options.nextId).click(function() {
            if (options.teaser) {
                options.teaser.slideToggle();
            }
            animate("next");
            if (t >= ts) $(this).fadeOut();
            $("a", "#" + options.prevId).fadeIn();
            if (options.teaser) {
                options.teaser.slideToggle();
            }
        });

prevId ハンドラーも変更する必要があります。

また、これを改善するには、次のコード行を関数に入れます。

            animate("next");
            if (t >= ts) $(this).fadeOut();
            $("a", "#" + options.prevId).fadeIn();
            if (options.teaser) {
                options.teaser.slideToggle();
            }

そして、最初のスライド トグル内の無名関数から呼び出します。次のようになります。

            if (options.teaser) {
                options.teaser.slideToggle(function(){myNewFunc();});
            }
            else{
                myNewFunc();
            }

フェードアウト()/フェードイン()と同等のことをする必要があるかもしれません

プレイして、あなたの考えを見てください。

于 2009-08-27T15:41:42.490 に答える