0

我正在使用同位素并遇到一个奇怪的问题:在某些浏览器中,第一项不可链接。它发生在 Mac 上所有版本的 IE 和 Firefox 中。我在页面上有过滤器,如果您单击一个,则第一个项目变为可链接的。但最初并非如此。

我看到另一篇关于第一项的帖子,该解决方案与列宽有关......但在我的情况下,我已经改变了,因为这是一个响应式站点。

这是代码:

var $container = $('#project-thumbs');          
var $default_filter = ".featured";                  

$container.isotope({
    animationEngine: 'best-available',
    filter: $default_filter,
    itemSelector : '.thumb',
    // disable resizing
    resizable: false
});

// update columnWidth on window resize
$(window).smartresize(function(){
  $container.isotope({

  });
});

有什么想法吗?

更新 1:实际上,它似乎在所有浏览器中(PC Firefox 和 Chrome 也一样)。

我刚刚发现如果我使用 Firebug 改变我的拇指(正在移动的元素)以具有“位置:相对”,第一个项目变得可链接。但是,该插件正在添加“位置:绝对”(并且可能需要),因此自己设置此样式会被覆盖。但也许这是一个线索?

更新2:我越来越近了。我认为这是问题的一部分。我正在做的是,而不是最初显示所有项目,而是显示一个子集。如果您查看 HTML,列表中的第一项实际上是隐藏的,因为它不是我的子集的一部分。但是,它的链接似乎优先于“可见”的第一项......

更新 3:更多细节......与此同时,我试图弄清楚为什么某些文本在 Android 智能手机的此页面上看起来很模糊。我发现添加 transformsEnabled: false 解决了这个问题。但是,将其放在那里会导致这种“非链接”问题更频繁地发生 - 并且在所有浏览器中。这几乎就像这些项目没有被赋予正确的 z-index 或其他东西。

4

1 回答 1

0

好的,所以我有一个解决方法可以完成这项工作,尽管它不是最优雅的选择。

我没有使用同位素插件过滤初始视图,而是让它加载所有内容。然后,我使用常规 jQuery 在页面上的过滤器链接上触发我想要最初加载的类别的点击事件。

// delay, then trigger click on Featured
$('#sub-nav a.featured').delay(5000).trigger('click');

正如我上面提到的,我注意到一旦你开始点击不同的过滤器,问题就消失了。因此,这有效地启动了有助于避免这种情况的点击。

如果有修复,仍然会对修复感兴趣!

谢谢。

于 2013-01-31T20:11:34.727 回答