我正在尝试使用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
});
因此幻灯片工作正常,但是当我希望它们只是淡入/淡出时,文本会随之滑动。
有什么想法吗?
答案 0 :(得分:2)
要进行滑动,您必须将fx
属性设置为“scrollHorz
或scorllVert
。看看这个工作演示。你的班级名字中有一些拼写错误。
<强> 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中循环。