私はJavascipt/Jqueryに少し慣れていません(私はそれについて長い間知っていましたが、実際にいじり始めただけです)。
次のマークアップ用の簡単なツールチップ関数を作成しようとしています。
<ul class="exec-List">
<li class="give-tooltip">
<img src="test.png" />
<span title="Loloscoped" class="tooltip-span">Content</span>
</li>
<li>
<img src="test.png" />
<span title="Loloscoped" class="tooltip-span">Content</span>
</li>
</ul>
これが私がこれまでに持っているものです:
function simple_tooltip( target_items, target_class, give_class )
{
$( target_items ).each(function( i )
{
var current_item = $(this);
if( current_item.hasClass( 'give-tooltip' ) )
{
alert( 'has tooltip class' );
var current_child = current_item.children(this);
if( current_child.hasClass( 'tooltip-span' ))
{
current_item.mouseenter(function()
{
current_child.fadeIn( 400 );
});
current_item.mouseleave(function()
{
current_child.fadeOut( 400 );
});
}
}
});
}
問題は、fadeInとfadeOutのセレクターが、クラス「tooltip-span」のスパンではなく、アイテム全体をターゲットにしていることです。<li>
マウスが要素を離れると、全体<li>
が消えていくので、これが当てはまると思います。マウスが入る<span>
と明らかになりますが、<li>
隠されていればフェードインすると思います。
子供を選択しようとして私は何を間違っていますか?
私は使用します:
display: none;
そして別のクラスでは:
display: block !important;
display
CSSでは、フェードタイムが必要ですが、これはプロパティでは実現できません。