使用jquery延迟css转换
Delaying css transition with jquery
我试图延迟一个基于延迟函数的元素的css过渡+附加0.2s应用于它,所以它比主包装器的初始延迟延迟0.2s。我给它添加了一个类,给它一个从右向左滑动的transition
。
如果我禁用这个额外的延迟(transition-delay),那么当初始延迟触发时,元素会正常滑动。如果我保留它并在这个内部div上添加0.2秒的额外延迟,那么过渡将无法工作。
jquery和fiddle的最新进展:
(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
的div已经具有CSS transform
属性。因此,你需要将class 'left'的CSS选择器改为select through id这样它就有了更高的专一性
.left {
transform: translateX(20%);
}
#testDiv.showIt .left {
transform: translateX(20%);
}
JSFiddle: https://jsfiddle.net/7qdyeq0x/5/
我把你的动作与".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);
};
});
}
相关文章:
- Css转换没有响应
- 使用CSS在选项卡更改时平滑颜色转换
- 将webkit从CSS转换为JavaScript
- css转换高度不起作用
- CSS中的转换似乎失败了,原因是什么
- 鼠标悬停时的css转换
- CSS转换立即进入最终状态
- 选项卡式元素上的动画CSS转换
- 通过JS添加类时应用CSS转换
- 更好的解决方案HTML元素幻灯片从右侧CSS转换
- CSS将百分比转换为像素
- 使用JavaScript触发CSS转换
- 使用带有javascript的span创建CSS转换
- jQuery addClass中断延迟,或者jQuery延迟中断CSS转换,或者两者兼而有之
- 输入占位符文本转换CSS样式
- 从核心转换css捕获核心转换
- 在悬停时保留和添加新的转换 (CSS/LESS)
- JavaScript或jQuery根据屏幕大小转换css文件
- 转换css系统颜色十六进制与javascript
- 转换 CSS 样式对 标记没有影响