$('li:not(#blob)', nav).hover(function() {
// mouse over
clearTimeout(reset);
blob.animate(
{
left : $(this).position().left,
width : $(this).width()
},
{
duration : options.speed,
easing : options.easing,
queue : false
},
function(){
$('#slate').fadeOut('fast', function(){
$('#slate').html($('.stuff1').html()).fadeIn('fast');
});
}
);
});
我一直在尝试让 div(未连接到动画)淡出,在动画发生后获取隐藏 div 的内容(嵌套在“blob”移动到的 li 元素内),我想我'我在这里朝着正确的方向前进,但似乎无法使其正常工作。
作为一个 jQuery 新手,我不明白为什么在 animate 函数之后没有进行回调?
编辑:
下面我发布了我正在尝试治疗的完整功能。我试图让函数淡出将内容更改为嵌套在每个 li 中的 div 的内容。目前我只使用其中一个的内容,当我来到它的基础上时,我会越过那座桥。
该函数将 blob 元素移动到光标悬停的 li 元素。
js小提琴http://jsfiddle.net/CK2pZ/4/
jQuery(function($) {
$.fn.spasticNav = function(options) {
options = $.extend({
overlap : 0,
speed : 500,
reset : 1500,
color : '#0b2b61',
easing : 'easeOutExpo'
}, options);
return this.each(function() {
var nav = $(this),
currentPageItem = $('#selected', nav),
blob,
reset;
$('<li id="blob"></li>').css({
width : currentPageItem.outerWidth(),
height : currentPageItem.outerHeight() + options.overlap,
left : currentPageItem.position().left,
top : currentPageItem.position().top - options.overlap / 2,
backgroundColor : options.color
}).appendTo(this);
blob = $('#blob', nav);
$('li:not(#blob)', nav).hover(function() {
// mouse over
clearTimeout(reset);
blob.animate(
{
left : $(this).position().left,
width : $(this).width()
},
{
duration : options.speed,
easing : options.easing,
queue : false
},
function(){
$('#slate').fadeOut('fast', function(){
$('#slate').html($('.stuff1').html()).fadeIn('fast');
});
}
);
});
}); // end each
};
})(jQuery);