jQuery Cycle Plugin帮助

时间:2011-08-16 20:50:22

标签: jquery cycle

我正在尝试使用jQuery Cycle插件构建一个滑动旋转器,但是我需要一个自定义显示器的麻烦...基本上我有幻灯片,每张幻灯片顶部都有一个带文本的文本框。我只是想让幻灯片滑动,但我希望文本淡出,然后在新幻灯片进入时。

这是我的HTML:

<div id="home-slider">
     <div class="slide">
          <img src="image.jpg" width="200" height="200" />
          <div class="text-box">
               <p>Some text here</p>
          </div>
     </div>
     <div class="slide">
          <img src="image.jpg" width="200" height="200" />
          <div class="textblock">
               <p>Some text here</p>
          </div>
     </div>
</div>

这是JS:

function onBefore() {
    jQuery("#home-slider .slide .textblock").hide();    
}
function onAfter() { 
    jQuery("#home-slider .slide .textblock").fadeIn('fast');
}
jQuery("#home-slider").cycle({
        speed:  500, 
        timeout: 3000,
    after:   onAfter,
    before: onBefore

});

因此幻灯片工作正常,但是当我希望它们只是淡入/淡出时,文本会随之滑动。

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

要进行滑动,您必须将fx属性设置为“scrollHorzscorllVert。看看这个工作演示。你的班级名字中有一些拼写错误。

<强> Demo

答案 1 :(得分:1)

您的jquery调用中缺少“#”,并且在html的一个部分中缺少其调用的文本框:

function onBefore() {    
  jQuery("#home-slider .slide .text-box","#home-slider .slide .textblock").hide(); 
}
function onAfter(curr, next, opts) {     
  jQuery("#home-slider .slide .text-box","#home-slider .slide .textblock").fadeIn('fast');    
  jQuery("#home-slider .slide").css("zIndex","");
}

答案 2 :(得分:0)

我相信正在发生的事情是幻灯片div已经被隐藏了,所以之前没有任何效果,因为它显示在后面。

解决这个问题的一种方法是使用text-indent将其从屏幕上移开然后隐藏它,正确地重新定位文本然后淡入。

另一个选择是让div超过文本以隐藏它然后隐藏下面的文本并删除div并淡入。

第三种选择是仅选择循环功能中的图像。 jQuery(“#home-slider img”)。循环或如果这不起作用,那么让它们在一个单独的div中循环。