我尝试创建自己的幻灯片供个人使用,但我遇到了一个问题。
在我的 jQuery 插件中,我创建了一个操作我的插件的对象。代码结构如下:
(
function($)
{
$.fn.wplSlider = function(options)
{
var slider = this;
var settings = $.extend(
{
'animationSpeed' : 750,
'animationEasing' : null,
'animationAutoStart': true,
'pauseTime' : 3500
},
options
);
var methods = {
animationRun : false,
totalSlides : 0,
init : function()
{
// This method initiating the slide show elements
},
slidesStatus : function()
{
// This method initiating the slides status
},
slideNumber : function()
{
// Assign a number to each slide
},
getSlidesAmount : function()
{
// Get the amount of slides
},
next : function()
{
// Prepare the next slide that will be displayed
},
prev : function()
{
// Prepare the next slide that will be displayed
},
goTo : function(item)
{
// Prepare the specified slide
},
slideOut : function()
{
// Slide out the current slide
slider.find('li[data-status="current"] .container').animate(
{
top : '-75px'
},
600
);
slider.find('li[data-status="current"] span, li[data-status="current"] a').animate(
{
opacity : 0
},
600
);
},
slideIn : function()
{
// Slide in the current slide
$('li[data-status="current"]').animate(
{
'opacity' : 1
},
650
);
}
}
/* Allow chainability */
return this.each(
function()
{
methods.init();
methods.slideOut();
methods.next();
methods.slideIn();
}
);
}
}
)(jQuery);
使用上面的代码,问题是,当我执行 slideOut/next/slideIn 时,步骤非常快。
更具体地说,slideIn() 与 slideOut() 同时执行。
有没有办法让 slideIn() 仅在 slideOut() 完成后才执行?