jQuery .cycle()在第一次加载时在Webkit浏览器[Safari / Chrome]中是不可见的(刷新后一切正常!)

时间:2009-10-08 11:12:39

标签: jquery css safari cycle invisible

我正在使用jQuery cycle来实现幻灯片效果。

您可以点击任何幻灯片图像以滑动到下一个。

这适用于所有浏览器。只有在Safari中,才会发生一些非常奇怪的事情。在第一页加载时,根本不显示幻灯片图像!重新加载页面后(通过刷新或点击地址栏旁边的“开始”按钮),一切都可以正常工作。

这里发生了什么?难道我做错了什么?我该如何解决这个问题?


更新

我正在使用jQuery和Cycle插件的最新版本。这是我用来调用的代码.cycle():

if (1 < $('.image-list li').size()) {
 $('.image-list').cycle({ fx: 'uncover', speed: 200, timeout: 4000, next: $('.image-list li') }).addClass('image-list-cycle');
}

2 个答案:

答案 0 :(得分:8)

使用$(window).load代替$(document).ready似乎也有帮助。

答案 1 :(得分:3)

如果你只是谷歌这个错误,你会发现很多人都有应用于图像的jQuery插件的麻烦。麻烦通常发生在位置和表现方面。

我的感觉是,有时脚本在加载图像之前运行,并且用于循环图像的使用宽度/长度值是错误的。 我建议你在页面中添加这样的东西(根据你的需要调整类和名称):

<script type="text/javascript">
  $(document).ready(
    function() {
      $('.image-list li').each(function({$(this).css({
        [SET HERE POSITION, WIDTH, ETC]});});
      $('.image-list').cycle([OPTIONS]);});
</script>