2017-09-18 22 views
0

画像の上にマウスを置くと、画像のタイトルがゆっくりと消えてしまいます。これまでのところタイトルが表示されていますが、フェードインすることなく即座に表示されます。私のコードのfadeIn(2000)メソッドは何もしていないようです。私はここで間違いを犯していますか?jQuery fadeIn()メソッドが機能しません...

jQueryの

$('.imageContainer').on('mouseenter', '.uploadedImg', function(){ 
     var image = $(this); 
     var imageParent = image.closest('.stickyImageContainer'); 
     imageParent.append('<div class="blackDiv"></div>').fadeIn(2000); 
     imageParent.find('.imageTitle').css('visibility', 'visible').fadeIn(2000); 
    }).on('mouseleave', '.blackDiv', function() { 
     $(this).remove(); 
     $('.imageTitle').css('visibility', 'hidden'); 
    }); 

あなたは、彼らがフェードインすることができます前に、要素を非表示にする必要がありHTML

echo "<div class='imageContainer'>" 
       .'<div class="stickyImageContainer"><h1 class="imageTitle">'.$row["name"].'</h1><a href="imageInfo.php?image='.$row["path"].'"><img class="uploadedImg" src="/uploads/'.$row["path"] .'" alt="Random image" /></a> '; 

    if (isset($_SESSION['id'])) { 
     if ($hasVoted < 1) { 
      echo "<div class='upvoteDownvoteRatingContainer'> 
        <form class='upvoteImage' method='POST' action=''> 
         <input type='hidden' name='action' value='upvote'> 
         <input type='hidden' name='id' value='".$row['id']."'> 
         <input type='hidden' name='userId' value='".$currentUser."'> 
         <input type='hidden' name='voteType' value='voteImage'> 
         <button class='upvoteImageButton' type='submit' name='upvoteImage'><img class='arrowUp' src='../images/Social Media/arrowUp.png' alt='submit'></button> 
        </form>"; 

      echo "<div class='ratingNumber'>"; 
      echo $row['upvotes'] - $row['downvotes']; 
      echo "</div>"; 

      echo "<form class='downvoteImage' method='POST' action=''> 
         <input type='hidden' name='action' value='downvote'> 
         <input type='hidden' name='id' value='".$row['id']."'> 
         <input type='hidden' name='userId' value='".$currentUser."'> 
         <input type='hidden' name='voteType' value='voteImage'> 
         <button class='downvoteImageButton' type='submit' name='downvoteImage'><img class='arrowDown' src='../images/Social Media/arrowDown.png' alt='submit'></button> 
        </form></div>"; 
+4

PHPコードを削除するだけで、PHPコードを削除してPHPで生成された関連HTMLのみを投稿できますか? – connexo

+0

[よくある質問](https://stackoverflow.com/help/how-to-ask)と[最小で完全で検証可能な例の作成方法](http:// stackoverflow。 com/help/mcve)、これは私たちがあなたを助けるのがずっと楽になるからです。 – Tijmen

答えて

0

。あなたはhide().fadeIn(2000)

$('.imageContainer').on('mouseenter', '.uploadedImg', function(){ 
    var image = $(this); 
    var imageParent = image.closest('.stickyImageContainer'); 
    imageParent.append('<div class="blackDiv"></div>').hide().fadeIn(2000); 
    imageParent.find('.imageTitle').css('visibility', 'visible').fadeIn(2000); 
}).on('mouseleave', '.blackDiv', function() { 
    $(this).remove(); 
    $('.imageTitle').css('visibility', 'hidden'); 
}); 
+0

そのコードは最初に画像を隠してから、それを消して私の目標ではありません。私の目標は、すぐに表示されるのではなく、追加されたdivをゆっくりとフェードインさせることです。 – Bobimaru

+0

次に、ページロード時にイメージを隠すためにCSSを使うことを考えて、 'fadeIn()'を使用することができます。 – Tijmen

+0

@Tijmen私は同意します。その場合、CSSが最適なオプションになります。 –

0

を使用してみてくださいCSSを設定するe画像display: none fadeIn関数が呼び出されるまで非表示になる

関連する問題