jQuery循环插件(经常)不工作在谷歌Chrome

jQuery cycle plugin (often) doesn't work in Google Chrome

本文关键字:工作 谷歌 Chrome 循环 插件 经常 jQuery      更新时间:2023-09-26

由于某种原因,当我第一次进入我最近构建的页面时,jQuery Cycle插件不起作用。该网站位于这里(网站是另一种语言[希伯来语])。

无论使用哪种语言,Cycle插件在Firefox和IE中都能很好地工作。我想知道这是一个错误在我的结束或一个错误在插件的结束。

如果是我这边的bug,我该怎么修复它?

这个问题的解决方案,基于谷歌浏览器未能正确渲染动态生成的div的高度(如@ulima69观察到的),是给包装div (.slideshow)一个指定的宽度&与图像的宽度/高度一致的高度。

现在修复了这个错误。如果图像都是不同的尺寸,则需要寻找更复杂的解决方案。@ulima69提供了两个关于应该与Chrome一起工作的替代循环插件的链接。做对你有用的事。

Amit

你必须使用。load而不是。ready来允许图片加载到页面上

$(window).load(function() {
    $('.element').cycle();
});

这里有一个快速的演示:http://jsfiddle.net/VpnPb/4/。我使用了jQuery 1.6.4,在不同的图像尺寸下一切都很好。

$('#s5').cycle({
  fx: 'fade',
  pause: 1
});
$('#s6').cycle({
  fx: 'scrollDown',
  random: 1
});
.pics {
  height: 232px;
  width: 232px;
  padding: 0;
  margin: 0;
}
.pics img {
  padding: 15px;
  border: 1px solid #ccc;
  background-color: #eee;
  width: 200px;
  height: 200px;
  top: 0;
  left: 0
}
<link href="http://jquery.malsup.com/cycle/cycle.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script src="http://malsup.github.io/jquery.cycle.all.js"></script>
<script src="http://malsup.github.io/chili-1.7.pack.js"></script>
<div id="s5" class="pics">
  <img src="http://desmond.yfrog.com/Himg735/scaled.php?server=735&filename=u2tc.jpg&res=iphone" width="200" height="200" />
  <img src="http://desmond.yfrog.com/Himg611/scaled.php?server=611&filename=ei41.jpg&res=iphone" width="200" height="200" />
  <img src="http://desmond.yfrog.com/Himg616/scaled.php?server=616&filename=2113.jpg&res=iphone" width="200" height="200" />
</div>
<br/>
<div id="s6" class="pics">
  <img src="http://desmond.yfrog.com/Himg735/scaled.php?server=735&filename=u2tc.jpg&res=iphone" width="200" height="200" />
  <img src="http://desmond.yfrog.com/Himg611/scaled.php?server=611&filename=ei41.jpg&res=iphone" width="200" height="200" />
  <img src="http://desmond.yfrog.com/Himg616/scaled.php?server=616&filename=2113.jpg&res=iphone" width="200" height="200" />
</div>