私が行った別のサイトで完全に機能する単純なjqueryアニメーションを実装しようとして、髪を引き裂いています。私が行った唯一の変更は、アニメーションをセレクターとは別のオブジェクトに影響を与えたいということです (これらの用語を正しく使用していることを願っています)。奇妙なことに、以前のサイトとまったく同じシナリオを使用してテストしても、結果が得られません。
これが機能しない明らかな理由を誰かが見ることができますか?
これは私のjqueryです:
jQuery(document).ready(function($){
$(".themelist li").hover(
function () {
$(".themedescription").animate({opacity:"1"});
},
function () {
$(".themedescription").animate({opacity:'0'}, "fast");
}
);
});
これは私のループです(ワードプレス):
echo "<div class='themelist'><ul>";
foreach ( $terms as $term ) {
echo "<li>" . $term->name ."</li><div class='theme-description'>". $term->description. "</div>";
}
echo "</ul></div>";
これは私のcssです:
.themelist {
position: relative;
cursor: pointer;
}
.themelist li {width:200px;}
.theme-description {
text-align: left;
color: #CCC;
background: #333;
width:300px;
position: absolute;
padding: 20px;
top:0;
left:200px;
opacity:0;
}
アイデア?あちこち検索しましたが、どこが間違っているのかわかりません。
アップデート
進歩を遂げ、今ではまったく新しい問題を抱えています。次の調整された jquery finallyw は、アニメーションを実行する限り機能します。
$(document).ready(function()
{
$(".themelist li").hover(function()
{
$(".themedescription").filter(':not(:animated)').animate({opacity:"1"});
},
(function()
{
$(".themedescription").animate({opacity:"0"});
}
));
});
しかし、ご想像のとおり、リスト内のリンクに対応する div が 1 つずつ表示されるのではなく、すべて同時に表示されます。ガッ。これが来るのを見るべきだったのですが、CSS の display:none と同じように動作し、一度に 1 つだけ表示されると想定していました。
これを修正するために使用できる別の効果はありますか? または、div .themedescription が .themedescription1、.themedescription2 などになるように、個々のクラスを生成する必要がありますか?
どうもありがとうございました。あなたのアイデアは大歓迎です。-ジェニーブ