【发布时间】:2012-03-09 06:37:55
【问题描述】:
我在使用 jQuery 制作的简单幻灯片时遇到问题。 该脚本在除 Google Chrome 之外的所有其他浏览器中都能正常工作。你可以找到直播网站here
这有两点不妥:
- 幻灯片自动启动,但在第二张幻灯片后停止。
- 如果您单击幻灯片指示器 (....),有时会显示该幻灯片的背景图像(通过 CSS 应用),有时会保持隐藏状态。
最重要的是,我得到了这个错误:
event.layerX 和 event.layerY 在 WebKit 中被破坏和弃用。它们将在不久的将来从引擎中移除。
这是我正在使用的 JavaScript:
function nextSlide() {
var visibleSlide = $('#slider li:visible');
var currentSlide = $(visibleSlide).index() + 1;
var slideCount = $('#slider li').size();
var nextSlide = (currentSlide == slideCount) ? 1 : currentSlide + 1;
$('#slider_indicator a').removeClass('active');
$(visibleSlide).fadeOut('fast', function() {
$('#slider li:nth-child(' + nextSlide + ')').fadeIn('fast');
$('#slider_indicator li:nth-child(' + nextSlide + ') a').addClass('active');
});
}
autoslide = setTimeout("nextSlide()", 6000);
$(function() {
$('#slider_indicator a').bind('click', function(e) {
clearTimeout(autoslide);
$('#slider_indicator a').removeClass('active');
$(this).addClass('active');
var slide_number = $(this).parent().index() + 1;
$('#slider li:visible').fadeOut('fast', function() {
$('#slider li:nth-child(' + slide_number + ')').fadeIn('fast');
});
e.preventDefault();
})
$('#selection .scrollable .items a').live('click', function(e) {
var self = $(this);
$.ajax({
url: $(self).attr('href'),
type: 'GET',
success: function(body) {
var count = $('#selection .scrollable .items a').length - 1;
count = (count == 1) ? count + ' Ribbon' : count + ' Ribbons';
$(self).parent('li').fadeOut('fast', function() {
$('#result li a[rel="' + $(self).attr('rel') + '"]').removeClass('added');
$(this).remove();
$('#selection #header #count').text(count);
})
}
})
e.preventDefault();
})
})
非常感谢任何帮助。
【问题讨论】:
-
它也停在
firefox 10.0.1 -
对于控制台 event.layerX 中的错误...使用最新版本的 jquery 或查看stackoverflow.com/questions/7825448/…
-
使用setInterval,setTimeout不会继续。
-
它正在工作,清除你的缓存。
标签: javascript jquery google-chrome