出于某种原因,当我调用jQuery的淡入淡出效果时,它不起作用。我做错了什么?
除了褪色之外,这个功能可以完成它应该做的一切。它会在正确的时间被调用。
function move_to_term(original_course, helper, term) {
var cloned_course = original_course.clone(true);
original_course.addClass('already-scheduled').droppable("destroy");
helper.fadeOut(function() {
cloned_course.appendTo(term).attr('style', '').fadeIn("slow");
});
cloned_course.draggable();
}
UPDATE:在FF 3.5.9和IE 8中都失败。
更新2:
此功能设置为droppable的drop
事件的回调:
var new_term = $(sprintf('<li class="term"><strong>%s</strong></li>', term["fields"]["name"]));
new_term.data('pk', term['pk']);
new_term.droppable({
drop: function(event, ui) {
move_to_term(ui.draggable, ui.helper, $(this));
},
accept: function(draggable) {
return legal_for_term(draggable, $(this))
},
tolerance: 'pointer',
activeClass: 'legal-drop-term-active',
hoverClass: 'legal-drop-term-hover'
});
更新3 :文本确实需要一段时间才能更改地点,就像淡入淡出正在发生但只是没有动画一样?或者也许我完全不喜欢。
更新4:这很好用,虽然它没有达到我希望的效果:
function moveToTerm(original_course, helper, term) {
original_course.fadeOut('slow');
}
这是可放置的HTML:
<li class="term ui-droppable">
<strong>Fall 2010</strong>
<li class="course">Computing Cultures</li>
</li>
这是可拖动的HTML:
<li class="course ui-draggable">Introduction to Web Design</li>
ui.helper
个对象不支持淡出?
更新5 :好的,现在我想做的就是淡化克隆对象:
function moveToTerm(original_course, helper, term) {
var cloned_course = original_course.clone(true);
original_course.addClass('already-scheduled');
original_course.draggable("disable");
cloned_course.draggable();
cloned_course.appendTo(term).fadeIn("slow");
}
这不起作用,但将fadeIn()
更改为fadeOut()
会使其有效。为什么呢?
FIXED:
变化:
cloned_course.appendTo(term).fadeIn("slow");
为:
cloned_course.appendTo(term).hide().fadeIn("slow");
答案 0 :(得分:1)
试试这个:
helper.fadeOut('slow', function() {
cloned_course.appendTo(term).attr('style', '').fadeIn("slow");
});
可能是因为代码吗?
Jquery库的代码,不,它当然不能。
如果不知道代码执行的上下文,我就无法提供更多帮助。
答案 1 :(得分:0)
我会尝试在没有attr('style', '')
调用的情况下调用它。我想可以定义干扰淡入淡出,因为淡入淡出是通过设置opacity
的内联css(加上ie的另外一些魔法)来实现的。
很难说(因为我无法真正测试它,描述可能更清晰)。不会链接到hide()
帮助吗?
cloned_course.appendTo(term).attr('style', '').hide().fadeIn("slow");