IE上的颜色框,打开一个颜色框,然后立即跟随页面上的链接

Colorbox on IE, opens a colorbox and then immediately follows the link off the page

本文关键字:颜色 跟随 然后 链接 IE 一个      更新时间:2023-09-26

我有一个画廊页面,它列出了一个图像网格。单击其中一个图像时,我希望颜色框弹出,并允许用户循环浏览图像。

使用一个简单的颜色框可以在所有浏览器上做到这一点,除了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仍然存在同样的问题。if然后取消注释return false;。IE将不再离开页面,但颜色框不起图库的作用,这意味着用户无法滚动浏览图像。

我不知道如何阻止IE关注这个链接,或者为什么它会出现在第一位。

问题是图像url上有一个itemprop="image"。不太确定为什么会导致这个问题,但删除它已经解决了这个问题。这意味着JS又回到了我原来的样子:

$('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
});