基本的に、誰かが最初にページに到達したときにツールチップを表示したいのですが、そのページ (またはページ上の他のツールチップ) にカーソルを合わせると、デフォルトのホバー動作に戻ります。これが発生すると、うまく機能しないバグがあるようです。現在、$('div#id').tooltip('show') コマンドを使用してツールチップをロードしていますが、デフォルトのホバー動作に戻す方法がわかりません。さらに悪いことに、特定の div で「表示」と「非表示」を切り替えるホバー関数を作成すると、バグが発生します。
この動作は、この Web サイトhttp://rework.herokuapp.com/organizationsの「仕組み」セクションで確認できます。
HTMLコードは次のとおりです。
<div class="row center works">
<div class="of center"><img alt="Step 1" class="center step init" data-placement="bottom" id="step1" rel="tooltip" src="/assets/works/step1.png" data-original-title="People who are driven to find meaningful work apply to the ReWork Talent Pool."></div>
<div class="of center"><img alt="Step 2" class="center step" data-placement="bottom" id="step2" rel="tooltip" src="/assets/works/step2.png" data-original-title="ReWork screens applicants for skills, experience, values, and accomplishments."></div>
<div class="of center"><img alt="Step 3" class="center step" data-placement="bottom" id="step3" rel="tooltip" src="/assets/works/step3.png" data-original-title="You engage ReWork for a role you need filled, and ReWork hand-selects qualified candidates from the talent pool."></div>
<div class="of center"><img alt="Step 4" class="center step" data-placement="bottom" id="step4" rel="tooltip" src="/assets/works/step4.png" data-original-title="You choose which candidates you want to meet, and make an offer if there’s a good fit."></div>
<div class="of center"><img alt="Step 5" class="center step" data-placement="bottom" id="step5" rel="tooltip" src="/assets/works/step5.png" style="padding-bottom:13px" data-original-title="ReWork collects a fee when a successful hire is made."></div>
</div>
jQuery:
$('img#step1').load(function(){
$('#step1').tooltip('show');
});
$('.step').hover(function() {
$('#step1').removeClass('init');
if ($(this).attr('id') != 'step1') {
$('#step1').tooltip('hide');
} else {
$('#step1').tooltip('show');
}
このバグは、Web サイトhttp://rework.herokuapp.com/organizationsの「how it works」セクションで再び確認できます。