2009-08-27 18 views
1

easySliderプラグインを使用し、jQuery Toggle機能も使用するstaging.asla.org/sustainablesites/secondary.htmlにあるスライドショーを持っています。Jqueryスライダとトグル

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

これは実行可能ですか?

ありがとうございます!

答えて

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(); 
      } 
あなたがフェードアウト(から同等の何かをしなければならない場合があり

)/フェードイン()

はプレイをお持ちのあなたの考えを参照してください。

1

これを試すことができます...それはそれほど美しいものではありませんが、機能します。あなた$内でそれを追加します(ドキュメント).ready(関数()の代わりにその{

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

...使用するクリーナーであるかもしれないif文:

if ($('.block').is(':visible')) {...}