2012-05-15 61 views
0

我使用这个jQuery显示悬停的一些信息:使用jQuery插件挂钩

jQuery(document).ready(function() { 
    jQuery('.promo_slider_wrapper').hover(function() { 
      jQuery('.promo_slider_excerpt').animate({right: 0, opacity: 1}, 500); 
     }, 
     function() { 
      jQuery('.promo_slider_excerpt').animate({right: -320, opacity: 1}, 500); 
    }); 
}); 

我用这对“促进滑块” WordPress插件,它的伟大工程。只有客户希望信息在幻灯片加载时显示,而不是悬停。我正在使用的插件有一个“动作钩子”,它在幻灯片载入中被调用。动作钩子是“promoslider_content”。

那么如何使用“promoslider_content”动作钩子来触发动画而不是我目前的“悬停”功能呢?

回答

0

我最终通过编辑插件来解决此问题(然后更改插件名称,以便它们不更新并覆盖我的自定义)。这不是最好的解决方案,但它的工作。

promo_slider.js(起始于线161):

// Add/Remove classes 
currentItem.removeClass('current'); 
jQuery('.promo_slider_excerpt').animate({right: -260, opacity: 1}, 200); 
newItem.addClass('current'); 
currentSpan.removeClass('current'); 
newSpan.addClass('current'); 

// Fade in/out 
currentItem.fadeOut('fast', function(){ 
newItem.fadeIn('fast'); 
jQuery('.promo_slider_excerpt').animate({right: 0, opacity: 1}, 500); 
}); 
0

如果你不需要悬停部分,那么你应该能够包含函数内容,它将立即运行。

jQuery(document).ready(function() { 
    jQuery('.promo_slider_excerpt').animate({right: 0, opacity: 1}, 500); 
}); 

但随后的动画将不会返回到-320,这将当你移动鼠标移出已经发生了正常。你可以设置一些类型的间隔计时器来做到这一点。

+0

这并不工作,因为它只有在动画的第一张幻灯片。当一张新幻灯片淡入时,它只是坐在那里,内容发生变化。我在想这就是这个动作钩来的地方。计时器可能会工作,但它是动态的(用户可以从cms更改滑动时间),所以我试图不去硬编码。 – Brandon