【发布时间】:2013-12-27 07:07:24
【问题描述】:
我正在尝试学习 jQuery 插件。我正在创建一个图像滑动插件。这就是我到目前为止的开发方式。
(function($){
$.imageSlider = function(selector, settings) {
//settings
var config = {
'delay':2000,
'speed':500
};
if(settings) {
$.extend(config, settings);
}
//vars
var obj = $(selector);
obj.children('img').css('transition','width 2s, height 2s, transform 2s');
var image = obj.children('img');
var count = image.length;
var i = 0;
image.eq(0).show(); //first image showing
//begin the image loop
setInterval ( function() {
image.eq(i).fadeOut(config.speed);
i = (i+1 == count) ? 0 : i+1;
image.eq(i).fadeIn(config.speed);
image.eq(i).css("transform","rotate(360deg)");
}, config.delay
);
return this;
}
})(jQuery);
但我的问题是轮换只发生一次循环。
JSFiddle http://jsfiddle.net/va45D/1/
按照我想要的方式加载所有 3 张图像后,它不会应用过渡。
请帮助我了解这里发生了什么。
【问题讨论】:
-
在这里工作。看不到问题
-
第二次后不旋转
-
它也在这里工作。我建议您的唯一补充是在图像中添加绝对位置以减少闪烁...
#slide img{ display:none; position: absolute; top: 0px; left: 0px } -
我想做的就是将所有图像一张一张地旋转显示出来。第一次如我所愿。但在那之后它只是滑动图像而不旋转。我是唯一一个看到这个的人吗?奇怪!
-
可能是浏览器或操作系统问题。它似乎对每个人都有效。您发送的小提琴在您所在的三个横幅之间连续旋转(淡出),不会停止,也不会偏离。换个电脑试试?然后让我们知道它是否对您也不起作用
标签: javascript jquery css css-transitions css-transforms