0

最初の関数が完了した後、関数を呼び出すための支援を探しています。私は一般的にjqueryにかなり慣れていないので、これを機能させるのに少し苦労しています。

以下のコードは私が今持っているもので、現在「slideonlyone」jqueryプラグインだけで機能しています。私がやりたいのは、slideonlyone関数を通常どおりに機能させてから、divが表示されたら、ページを下にスクロールして(または配置によっては上に)表示されているdivの上部にスクロールしたいのです。画像であり、ページにぎこちなく表示される場合があります。

<script type="text/javascript">
function slideonlyone(thechosenone) {
    $('.newboxes2').each(function(index) {
          if ($(this).attr("id") == thechosenone) {
               $(this).slideDown(600);
          }
          else {
               $(this).slideUp(600);
          }
     });
}
</script>

アンカータグのHTMLは次のようになります...それが本当に必要かどうかはわかりませんが。

<a href="javascript:slideonlyone('newboxes11');">
    <div class="project">
       <img src="image.png" />
    </div>
</a>

どうぞよろしくお願いします!

4

3 に答える 3

0

この JsFiddle Demoを確認してください。シンプルで、役立つかもしれません

于 2012-08-24T01:25:04.540 に答える
0

.slideDown()の 2 番目の例から、次のように変更slideonlyoneします。

function slideonlyone(thechosenone, domeafter) {
    var mdomeafter = function () {};
    if (domeafter !== undefined && typeof domeafter === 'function') mdomeafter = domeafter;
    $('.newboxes2').each(function(index) {
          if ($(this).attr("id") == thechosenone) $(this).slideDown(600, mdomeafter);
          else $(this).slideUp(600, mdomeafter);
     });
}

domeafterリンクの2番目の引数としての関数。

于 2012-08-24T01:17:42.197 に答える
0

あなたの質問を間違って読んでいるかもしれませんが、slideUp または slideDown アニメーションが終了した後に何かを発生させたい場合は、slideUp/slideDown への呼び出しの一部としてコールバック関数を指定するだけです。たとえば

$(this).slideDown(600, function() { 
  do something when slide down finishes
});

slideUp 関数の詳細については、http: //api.jquery.com/slideUp/を参照してください。

于 2012-08-24T01:18:59.760 に答える