我在Chrome中遇到一些关于jquery动画的问题。 我想知道是否有其他人见过这个。
我只是想做一些简单的幻灯片来隐藏div,或隐藏然后淡出div。 div上的向上滑动动画并没有发生在镀铬中,并且在褪色之前隐藏起来了。而在firefox中,动画是即时而流畅的。
问题是我有一个浏览器确认包围这些东西,只有用户确认才能执行此动画。 如果我删除确认,动画在chrome中运行正常。
这有点奇怪吗?
这是一个例子。经过确认,我没有上滑。没有确认,我得到一个。 也就是说,只需删除if(确认){}代码块。
if (confirm('Are you sure you want to remove the item?')) {
dragbox.slideUp('fast', function () {
dragbox.remove();
WebService.RemoveItem(itemId,
//on success
function () {
if ($('.dragbox').length == 0) {
//remove columns
$('.column').remove();
}
},
//on fail
function () {
alert('Failed to remove the "' + itemName + '" item.');
}
);
});
}
在这个例子中,确认隐藏div之后和淡入淡出之前有一个滞后,这样div隐藏的时间比我想要的长。没有确认,ti就像我期望的那样。
if (confirm('Are you sure?')) {
$('#' + itemId).spin();
WebService.AddItem(itemId,
//onsuccess
function (r) {
var item = $('#' + itemId); //this is a div
item.unspin();
item
.hide()
.toggleClass('item-added')
.fadeIn('fast', function () {
// Create the DOM elements
$('<p><img class="item-added" src="images/item-added.png" />')
// Sets the style of the elements to "display:none"
.hide()
// Appends the hidden elements to the "posts" element
.appendTo($('.contentInfo', item))
// Fades the new content into view
.fadeIn('fast');
});
},
//onfail
function () {
$('#' + itemId).unspin();
alert('Failed');
}
);
}
根据我的猜测和例子,任何人都可以证实或否定这一观点吗? 浏览器有哪些替代方案可以确认?
编辑:是的,我不确定发生了什么。答案 0 :(得分:0)
您使用的是最新版本的jQuery UI吗?你有jQuery UI样式表吗? 一切都很好看。如果您在此处找不到答案,请打开错误报告。
答案 1 :(得分:0)
更新Chrome修复了此问题。我现在正在运行15.0.874.120版本,一切都很好。我的话。
答案 2 :(得分:0)
我刚刚遇到了一些与几年前编写的代码相同的代码。现在它在基于webkit的浏览器中存在问题。
我有几个动画通过使用confirm()调用暂停,后续动画无法正常显示。我终于想通了,如果我在动画之前放一个短暂的延迟,它就会开始正常工作。
if (confirm('Are you sure?')) {
dragbox.delay(10).slideUp('fast', function () { ...
我不太确定为什么会这样,但我的动画现在又在Safari 6.0.3和Chrome 26.0.1410.43中再次运行