此代碼很好,除了一件事,我不明白爲什麼它搞砸了。對於頂部圖片或「#個人保險」,我必須點擊兩次以使功能發生。這只是您第一次使用該功能。如果點擊了其他ID中的任何一個,「#businessinsurance」或「#assetpreservation」,則該功能在第一次點擊時起作用。當一個「insurtypes」圖像被點擊時,這個功能只會讓div出現在div「#insurpic」中。所以我的問題是,我能做些什麼才能使它在第一次點擊上工作?必須點擊圖像兩次功能才能正常工作
另外,有什麼我可以改變,使div顯示多一點...恩典?看起來,它會很好,如果它滑入或像這樣酷!但實際上,我只是需要第一個問題的幫助,如果你幫助我解決這個問題,那麼你就更酷了!
鏈接到網站,如代碼用於Website
下面是HTML和jQuery。
HTML
<div id="insurtypes"> <a href='#personalinsurnace'>
<img src="img/personal_insurance.png" />
</a> <a href='#businessinsurance'>
<img src="img/business_insurance.png" />
</a>
<a href='#assetpereservation'>
<img src="img/asset_preservation.png" />
</a>
</div>
<div id="insurpic">
<div id="personalinsurnace"><b>Personal Insurance Services</b>
<br />choose the service you are interested in!
<ul>
<li></li>
</ul>
</div>
<div id="businessinsurance"><b>Business Insurance Services</b>
<br />choose the service you are interested in!
<ul>
<li></li>
</ul>
</div>
<div id="assetpereservation"><b>Asset Preservation Services</b>
<br />choose the service you are interested in!
<ul>
<li></li>
</ul>
</div>
</div>
jQuery的
$('#insurtypes').each(function() {
var $active, $content, $links = $(this).find('a');
$active = $($links.filter('[href="' + location.hash + '"]')[0] || $links[0]);
$active.addClass('active');
$content = $($active.attr('href'));
$links.not($active).each(function() {
$($(this).attr('href')).hide();
});
$(this).on('click', 'a', function (e) {
if ($(this).is('.active')) {
$('.active').removeClass('active');
$content.hide();
} else {
$('.active').removeClass('active');
$content.hide();
$active = $(this);
$content = $($(this).attr('href'));
$active.addClass('active');
$content.show();
e.preventDefault();
}
});
});
運行沒有問題的最後一行[jsfiddle](http://jsfiddle.net/FEJJ9/) –
似乎在加載時,一切都設置爲活動狀態,然後單擊它隱藏它。什麼不起作用? – Fydo
我需要提供更多信息嗎?我知道它在網站上無法正常工作。那麼問題可以用CSS呢?所有3個「不足類型」都使用相同的css減色。 –