- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个可以循环播放的幻灯片以及所有内容,但它并不像我预期的那样工作。
这是一个 fiddle :http://jsfiddle.net/Hive7/Mb5nR/1/
Jquery:
// Customisable
var gap = 3;
var duration = 0.6;
// Non Customisable
var g = gap * 1000;
var d = duration * 1000;
var loop = $('.slideshow img').length;
var loopDelay = 200;
var x = 1;
var i = 1;
while(i <= loop){
$('.slideshow img:nth-child(' + x + ')').delay(g).fadeOut(d);
x++;
i++;
$('.slideshow img:nth-child(' + x + ')').delay(g + loopDelay).fadeIn(d);
var h = g;
var g = x * h;
var lD = loopDelay;
var loopDelay = lD + 200;
}
我认为应该发生的是,它将遍历启动队列的所有元素,以便它们全部连续淡入和淡出,尽管它们都是同时淡入和淡出,并且没有淡入
最佳答案
问题是 jQuery 对影响图形显示的命令使用多线程,因此您的 fadeIn 和 fadeOut 调用在后台(在它们自己的线程中)运行,而主执行线程继续执行下一条指令 立即。因此,当您的第一个图像淡出时,主线程已经告诉下一个图像淡入。下一个图像,以及之后的图像,依此类推。全部发生在(或多或少)完全相同的时间。
您需要的是淡入淡出等命令的回调功能。请参阅the jQuery API documentation page for fadeOut并注意可以提供可选的回调。此回调必须是一个仅在 fadeOut 完成后才会触发的函数。您需要使用此行为,以便您的脚本仅在每次淡入淡出完成后继续。
例如:
hideCurrentImage = new function() {
$currentImage = //your code to select displayed image goes here
$currentImage.fadeOut(d, showNextImage);
};
showNextImage = new function() {
$nextImage = //your code to select next image from set goes here
$nextImage.fadeIn(d, hideCurrentImage);
};
使用这种机制意味着图像只能依次淡入和淡出,因为每次调用 fadeIn 和 fadeOut 都会指定淡入完成后要使用的回调函数。因此您不会看到它们同时加载和淡出。
关于javascript - 幻灯片失控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17908157/
我正在尝试根据空白(空格、返回键、制表符)解析字符串(有些可能很长、段落)。当前使用String.split("\\s++")。在我们更新的上一个项目中,我们只是使用了StringTokenizer。
我在过去可以工作的 Oracle 10 SQL 中有一个分层查询。但是,我删除了它所基于的物化 View ,现在我无法让它正确显示,甚至完全离开了那个 View 。 原始查询如下所示: select
下面的代码有效。该代码调用 API 来获取历史交易(每次拉取 100 笔交易)。因为存在限制 - 允许调用 API 的次数和频率 - 结构类似于递归。 流程如下: 获取当前的 MAX tradeId
.inDB { background-color: #53354A; color: #53354A; padding: 2% 3%; height: 100px; width: 1
echo ''.$result['title'].' '.$result['description'].''; 为什么 .post
我正在使用 Gzip 压缩和 Zlib 压缩来加速我的网站 我使用了下面的代码 ob_start("ob_gzhandler");在包含在所有页面上的公共(public)文件中, lib.output
我是一名优秀的程序员,十分优秀!