.effect('幻灯片'..不显示下一个对象
.effect('slide'... not showing next object
我在stackoverflow周围浏览滑块,发现了这个http://jsfiddle.net/skram/tHZLY/2/(不知怎么的,我找不到题目了…)代码:
var $pages = $('.page');
$('#nxt').click(
function() {
var $cur = $('.active');
var $next = $cur.next();
if ($next.length == 0) return;
$cur.removeClass('active');
$next.addClass('active');
$('.page').not('.active').effect('slide',{direction:'right',mode:'hide'});
$('.active').effect('slide',{direction:'right',mode:'show'});
});
$('#prev').click(
function() {
var $cur = $('.active');
var $prev = $cur.prev('.page');
if ($prev.length == 0) return;
$cur.removeClass('active');
$prev.addClass('active');
$('.page').not('.active').animate({"width": 0}, "slow");
$('.active').animate({"width": 200}, "slow");
});
当我用.effect更改.animate时,下一个div不会显示。
更改后的JSFIDDLE:http://jsfiddle.net/tHZLY/12/
问题是您使用了两种不同的方法来显示/隐藏div。
您应该使用slide
或width
。
非.active
div的宽度在CSS中最初设置为0px
,以便以后可以使用.animate({"width": 200})
为其设置动画。但它不适用于.effect('slide', ...)
,因为它实际上不会影响宽度属性。
在上应用.hide()
时,.animate({"width": 0})
不会使元素不可见
.effect('slide',{direction:'right',mode:'hide'});
检查此实验。
要使用.effect('slide', ...)
,您应该从div的CSS中删除width: 0px;
,将所有.page
div放在一个位置(出于演示目的,使用简单的position: absolute;
),并且不要在prev/next上混合两种不同的显示/隐藏方法:
// hide not active divs:
$('.page:not(.active)').hide();
$('#nxt').click(function(){
var $cur = $('.page.active');
var $next = $cur.next('.page');
if ($next.length == 0) return;
$cur.removeClass('active').effect('slide',{direction:'left',mode:'hide'});
$next.addClass('active').effect('slide',{direction:'right',mode:'show'});
});
$('#prev').click(function() {
var $cur = $('.page.active');
var $prev = $cur.prev('.page');
if ($prev.length == 0) return;
// do not mix up .aniamte(width) with .effect(slide)!
$cur.removeClass('active').effect('slide',{direction:'right',mode:'hide'});
$prev.addClass('active').effect('slide',{direction:'left',mode:'show'});
});
DEMO
相关文章:
- .effect('幻灯片'..不显示下一个对象
- 正在更改显示的<李>单击另一个对象
- 我想显示一个对象's在chrome中的值's控制台
- Javascript - 循环访问对象数组,仅显示最后一个对象
- ng-repeat失败,并显示一个对象数组
- js/jquery对象显示只是一个快速的闪光
- 节点v0.10.36显示一个对象的原型
- for 循环仅显示数组中的最后一个对象
- 单击一个对象并显示另一个简单的jQuery片段
- 如何从JavaScript数组/对象显示图像?从第一个图像开始,然后点击到下一个
- Angular模型值显示为一个对象
- 如何创建一个过滤器,在列出其他对象之前显示一个对象?
- 当用匿名函数括起一个对象时,显示错误消息
- 显示数组中的下一个对象值
- if应该只显示一个对象
- 如何在Javascript中添加一个对象时使字符串显示为数组返回到数组
- 我在一个对象中创建了两个不同的对象.在打印它们时,只显示最后修改的对象.如何创造
- Angular,过滤并显示数组中的一个对象
- 返回一个对象,显示单击了哪个元素
- 遍历数组的JavaScript/AngularJS只显示一个对象