画像のグリッドを一覧表示するギャラリー ページがあります。画像の 1 つをクリックすると、カラーボックスがポップアップし、ユーザーが画像を循環できるようにします。
シンプルなカラーボックスを使用すると、IE を除くすべてのブラウザーでこれが行われます。カラーボックスを開いた後でも、IEはリンクをたどります。
元のコード:
$('a.gallery_image').colorbox({
transition: 'fade',
opacity: 0.7,
speed: 100,
fixed: true,
rel: 'gal_img',
scalePhotos: true,
maxWidth: ($(window).width() / 100) * 85,
maxHeight: ($(window).height() / 100) * 85
});
以下を使用して、同様の効果を得ることができました。
$('a[rel="gallery_image"]').click(function(e){
e.preventDefault();
$('a[rel="gallery_image"]').colorbox({
maxWidth: '90%',
initialWidth: '200px',
initialHeight: '200px',
speed: 700,
rel: 'gal_img',
overlayClose: false
});
$.colorbox({
href: $(this).attr('href')
});
//return false;
});
ただし、IE にはまだ同じ問題があります。次に、return false; のコメントを外します。IE はページを離れなくなりますが、カラーボックスはギャラリーとして機能しないため、ユーザーは画像をスクロールできません。
IEがリンクをたどらないようにする方法、またはそもそもなぜそうなのかについて、私は考えがありません。