2

DIV 自体内のリンクをクリックすると、DIV をフェードアウトしようとしています。これが私のコードです:

$(".hideinfo").click(function () {
  var parentLink = $(this).parent().parent();               
  $(parentLink).fadeTo("slow", 0);
});

ID を直接指定しない理由は、これを使用して、異なる ID を持つ複数の DIV をフェードアウトしたいからです。

上記のコードは、アラートを設定したときに ID を返していましたが、DIV をフェードアウトしたり、その他のことを試みたりしていませんでした...ここで何か助けていただければ幸いです。HTML は次のとおりです。

<div id="First-Block" class="item">                 
    <p>text here</p>
    <p><a href="#" class="hideinfo">Back</a></p>    
</div>

ありがとうございました!

4

3 に答える 3

4

fadeOut("slow")代わりに使用する必要があります。

コードを次のように変更してみてください。

$(".hideinfo").click(function () {
    var parentLink = $(this).parent().parent();
    $(parentLink).fadeOut("slow");
});

これをさらに改善するには、コードを次のように短縮します。

$(".hideinfo").click(function() {
    $(this).closest(".item").fadeOut("slow");
});

アンカーをクリックすると、 を使用してページの上部にジャンプすることにも言及してください#.preventDefault()を見てみましょう

ここで API を確認することもできます -> http://api.jquery.com/fadeOut/

于 2012-07-22T20:22:08.667 に答える
1

jsBinデモ

$(".hideinfo").click(function( e ){
    e.preventDefault();           // prevent default anchor link behavior
    $(this).closest('.item').fadeTo(400, 0);
});

document readyさらに、上記を:にラップしてみてください。

$(function(){
   // code here.
});
于 2012-07-22T20:24:36.343 に答える
1

主な目標は特定の不透明度ではなく全体的な可視性に影響を与えることなので、代わりにfadeOut()を使用してください。

于 2012-07-22T20:24:42.820 に答える