0
$(document).ready(function() { $(".module .caption").hide(); $(".module").hover(function() { $(this).find(".caption" .slideDown(); },function() { $(this).find(".caption").slideUp(); }); });

このスニペットは私の目的には最適です。唯一の注意点は、.module ホバー関数を使用して、$this 以外のすべての「.caption」に「under」のクラスを同時に追加し、それらを削除する必要があることです。ホバー終了。したがって、基本的には、クラスを取得するためにホバリングされた「モジュール」は必要ありません。ここで示していることを正確に実行したいのです...ホバー終了時に.captionを上下にスライドさせ、他のすべての「.キャプションは、「.module」がホバーされたときにアンダークラスを取得します。

私が試してきたことで行き止まりにぶつかっただけで、同じ機能でやりたいです。何か案は?

4

4 に答える 4

1

あなたのhtml構造に応じて、次のようなものがそれを行うかもしれません:

<script type="text/javascript">
 $(document).ready(function() {
  $(".module .caption").hide();
  $(".module").hover(function() {
    $(this)
      .find(".caption").slideDown().end()
      .siblings('.module').children('.caption').addClass('under');

   },function() {
    var $this = $(this);

    $this.find(".caption").slideUp();

    setTimeout(function() { 
      $this
        .siblings('.module').children('.caption').removeClass('under');   
   }, 1000);
 });
</script>
于 2010-06-05T22:31:44.283 に答える
0

クラスを他のすべてのキャプションに追加し、一致したキャプションから削除するだけです。ホバーの最後に、それらすべてから削除します。

于 2010-06-05T22:25:28.077 に答える
0
$(function () {

        $('a').hover(function () {
            $(this).addClass('on');
            $('a:not(.on)').addClass('noton');

        }, function () {
            $(this).removeClass('on');
            $('a:not(.on)').removeClass('noton');

        });
    });
于 2010-06-05T22:25:53.017 に答える
0

「下」クラスが正確に何をするかわからないので、これが役立つかどうかはわかりません。

$(".module").hover(function() {
         $(".caption").addClass("under");
         $(this).find(".caption").removeClass("under").slideDown(); 
       },function() {
         $(this).find(".caption").slideUp();
         $(".caption").removeClass("under");   
       });
于 2010-06-05T22:26:06.233 に答える