Javascript slideReveal脚本-如何关闭所有打开的;幻灯片“;在打开新幻灯片之前?
我在一个新网站上玩这个,效果很好,易于实现: 但有一个问题我无法确定,如果您有多个滑块,并且其中一个已从上一个事件中“退出”,您如何首先确保所有其他滑块都已“关闭”,然后打开当前滑块Javascript slideReveal脚本-如何关闭所有打开的;幻灯片“;在打开新幻灯片之前?,javascript,jquery,Javascript,Jquery,我在一个新网站上玩这个,效果很好,易于实现: 但有一个问题我无法确定,如果您有多个滑块,并且其中一个已从上一个事件中“退出”,您如何首先确保所有其他滑块都已“关闭”,然后打开当前滑块 我可以用if/then来检查每个单独的控制器,但我认为必须有一种更优雅的方法…我认为解决这个问题的最好方法是创建一个“页面级控制器”。它的作用是充当一个容器和控制器,对页面中发生的事件进行排序 因此,您必须“代理”滑动打开一个闭合的a面(并添加一个关闭另一个滑动区域的依赖项),因为API似乎没有任何像“onSlid
我可以用if/then来检查每个单独的控制器,但我认为必须有一种更优雅的方法…我认为解决这个问题的最好方法是创建一个“页面级控制器”。它的作用是充当一个容器和控制器,对页面中发生的事件进行排序 因此,您必须“代理”滑动打开一个闭合的a面(并添加一个关闭另一个滑动区域的依赖项),因为API似乎没有任何像“onSlideOpen”那样发出的钩子或事件。这就是你的控制器要处理的
var PageController = function(){
var $leftSlide = $('#leftSlider').slideReveal(), // You'll want to sub in
$rightSlide = $('#rightSlider').slideReveal(); // your selector names
return {
openLeft: function() {
$leftSlide.slideReveal('show');
$rightSlide.slideReveal('hide');
},
openRight: function() {
$rightSlide.slideReveal('show');
$leftSlide.slideReveal('hide');
}
};
};
var pageController = new PageController();
pageController.openLeft(); // will slide reveal left side
pageController.openRight(); // will simultaneously open right and close left
现在你甚至可以做一些事情,比如检查那些幻灯片的状态,以防你有其他的交叉依赖
很多人可能会通过发出事件并捕捉它们来处理这类事情,但我真的不喜欢酒吧子模型。它很快就会变得非常脆弱。在所有滑块上使用.slideReveal(“隐藏”),然后在想要显示的滑块上使用.slideReveal(“显示”)
一种方法是给所有滑块一个类,并将其用作选择器
i、 e
$(".slider").slideReveal("hide");
$("#sliderYouWantToShow").slideReveal("show");