[英]Delaying css transition with jquery
我試圖基於延遲函數延遲元素的css轉換+在其上施加額外的0.2s,因此它比主包裝器的初始延遲滑動0.2秒。 我一類添加到它,給人一種transition
從右向左滑動。
如果我禁用這個額外的延遲(轉換延遲),那么當初始延遲啟動時元素會很好地滑動。 如果我打開它並在這個內部div上增加0.2秒的延遲,那么轉換將不起作用。
小提琴和jquery的當前進展:
(function ($) {
$.fn.testPlugin = function (options) {
var settings = $.extend({
showDiv: false,
delayIt: null,
trans: null,
timing: null,
speed: null,
}, options);
return this.each(function () {
var self = this;
// Show main
if (settings.showDiv == true) {
setTimeout(function () {
$(self).addClass("showIt");
}, settings.delayIt);
};
// Show inner
$(".inner").addClass(settings.trans + " " + settings.timing + " " + settings.speed).css({
"transition-delay" : settings.delayIt / 1000 + 0.2 + "s", // if i delete this delay then inner div slides fine
});
});
}
}(jQuery));
$(document).ready(function () {
$("#testDiv").testPlugin({
showDiv: true,
delayIt: 500,
trans: "left",
timing: "ease",
speed: "fast",
});
});
我將您的操作與".inner"
放到延遲".inner"
下一個代碼
$.fn.testPlugin = function (options) {
var settings = $.extend({
showDiv: false,
delayIt: null,
trans: null,
timing: null,
speed: null,
}, options);
return this.each(function () {
var self = this;
// Show main
if (settings.showDiv == true) {
setTimeout(function () {
$(self).addClass("showIt");
// Show inner
$(".inner").addClass(settings.trans + " " + settings.timing + " " + settings.speed);
}, settings.delayIt);
};
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.