前面讨论的脚本问题。 Here
基本上我的html表现不像我想要的那样。
点击: 全部 - 显示所有容器
<div class="slide">
动作冒险 - 显示
<div class="slide" title="Action Adventure">
戏剧 - 显示
<div class="slide" title="Drama">
等等......
固定 在初始加载时,仅加载所有容器当前仅在第一次加载时工作。点击anather流派后,再回到'All',它似乎表现得只是在展示彼此
此问题仍然存在 然后,我注意到在初始加载后,单击列表,它将显示下一个容器而不是具有相同标题和文本的容器。我认为它与index()有关;但我不完全确定。我需要让这个dang的东西正常工作。
谢谢你们!
ps,还有其他jquery隐藏了nth-child。只是忽略它。
感谢您的帮助!
我需要帮助的最后一件事是隐藏所有可见的第一个孩子的ul。除了动作冒险中的第一个。
答案 0 :(得分:1)
这并不能完全回答你的问题,但在你做淡出之前一定要停止排队的动画:
$(".slideMove .slide").stop(true,true).fadeOut("slow");
否则,多次单击按钮将导致动画反复运行
答案 1 :(得分:1)
这里:
我们正在使用点击.index()
的{{1}}个数字来打开一个li
等于此:eq()
的TAB。
看看这个表: Before你有这个:
.index()
每个li index ---> .slide index
_____________________________________
Action | 0 ---> Action | 0
Comedy | 1 ---> Comedy | 1
Drama | 2 ---> Drama | 2
Docume. | 3 ---> Docume.| 3
都很好地打开了他自己的标签li
。
但是你决定添加一个会打开所有标签的元素.slide
,
但现在你有了这个:
.all
正如您所看到的,li index ---> .slide index
_____________________________________
All | 0 (OPEN ALL)
Action | 1 ---> Action | 0
Comedy | 2 ---> Comedy | 1
Drama | 3 ---> Drama | 2
Docume. | 4 ---> Docume.| 3
没有打开他特定的“兄弟”标签。它只需打开所有标签!
但是,添加此“额外”.all
元素,您已将其他li
元素的索引号“移动”了1。
现在点击li
剧情,现在索引 3 ,它将打开具有相同索引的TAB。但那是包含纪录片电影的TAB!因为它仍然有索引号 3 !
要解决这个新问题,您必须搜索具有此索引号但为-1的选项卡 (戏剧索引(3)-1 =打开戏剧标签索引(2))
li
考虑到这一点,您只需使用jQuery $('ul.nav li').click(function() {
var i = $(this).index()-1;
$('.slide:eq('+i+')').fadeIn(400);
});
选择器.fadeOut()
所有先前打开的标签页。例如:
:visible
这样可以防止您的脚本干扰所有其他$('.slide:visible').fadeOut(400);
。
这是你的剧本:
.slide
您也可以使用:$('.slide').css({position:'relative',display:'block'});
$('ul.nav li').click(function() {
$(this).addClass('btnSelect').siblings().removeClass('btnSelect');
if( $(this).hasClass('all') ){
$('.slide:visible').fadeOut(400,function(){
$('.slide').fadeIn(400);
$('.grid ul li:nth-child(1)').show();
});
return;
}
var i = $(this).index()-1;
$('.slide:visible').fadeOut(400,function(){
$('.slide:eq('+i+')').fadeIn(400);
$('.grid ul li:nth-child(1)').hide();
});
});
看起来更漂亮! :)