現在、一連のボタンを設定しています。各ボタンには、ロールオーバーに関する詳細情報を示すタイトルが付いています。ページのレイアウトは、イントロ セクションが中央に配置され、その周りにボタンが配置されるように設計されています。いずれかのボタンにカーソルを合わせると、機能が起動してイントロが非表示になり、操作されているボタンに関する詳細情報が表示されます。ロールアウト時にイントロをもう一度表示したいのですが、タイムアウトが発生します。
タイムアウトが機能しないという問題がいくつかあります - introshow 機能が起動していないようです。
私は例を単純にしようとしました - 実際には introshow 関数にはいくつかのアニメーションが含まれますが、それは私が問題を抱えているタイムアウト関数であるため関係ありません. jQueryに関しては、私はまだ初心者です!
JS:
$(document).ready(function() {
$('div.pcontents > div').addClass('hidden');
$('.person').each(function() {
var theClass = $(this).attr('id');
var $person = $(this)
$person.hover(
function() { // RollOver
var index = 0;
console.log('roll over')
introhide();
$('.pcontents .' + theClass).removeClass('hidden');
$person.addClass('active');
}, function() { // RollOut
console.log('roll out')
$('.pcontents .' + theClass).addClass('hidden');
$person.removeClass('active');
$(function() {
setTimeout(function() {
introshow();
}, 2000 + index++);
});
});
});
var introhide = function() {
$('#intro').addClass('hidden');
}
var introshow = function() {
$('#intro').removeClass('hidden');
}
});
ここにHTMLがあります
<div id="wrap">
<div id="persons">
<dl class="person" id="pone">
<dd>The first person</dd>
</dl>
<dl class="person" id="ptwo">
<dd>The second person</dd>
</dl>
<dl class="person" id="pthree">
<dd>The third person</dd>
</dl>
<dl class="person" id="pfour">
<dd>The forth person</dd>
</dl>
</div>
<div class="pcontents">
<div class="pone">
<h3>Person One</h3>
<p>Description one</p>
</div>
<div class="ptwo">
<h3>Person two</h3>
<p>Description two</p>
</div>
<div class="pthree">
<h3>Person three</h3>
<p>Description three</p>
</div>
<div class="pfour">
<h3>Person four</h3>
<p>Description four</p>
</div>
</div>
<div id="intro">
<p>This is the intro</p>
</div>
誰かが私を助けることができれば、それは素晴らしいことです。
リッチ