2012-12-12 45 views
2

我喜欢加载页面时初始的smoothHeight所具有的效果。 我讨厌它在初始加载后缓慢响应页面调整大小的方式。 我很想保持初始页面加载的效果,然后回到没有动画的默认大小调整。 我一直在追逐这个小时。 通过在smoothHeight函数本身结束时将smoothHeight变量重新设置为false,我可以在初始动画之后将该变量切换回false,但是会在初始加载后禁用任何高度的调整大小。这感觉像一个非常简单的操作,但我无法弄清楚。 非常感谢您提供任何建议!Flexslider:在初始加载后禁用smoothHeight

基本上,当这个块被执行一次时,它设置高度,因此即使变量变回false,高度也不再灵活。

smoothHeight: function(dur) { if (!vertical || fade) { var $obj = (fade) ? slider : slider.viewport; (dur) ? $obj.animate({"height": slider.slides.eq(slider.animatingTo).height()}, dur) : $obj.height(slider.slides.eq(slider.animatingTo).height()); } }

+0

干得好,非常有用。你应该删掉答案部分,并将其添加为你自己问题的实际答案,并将其标记为正确。 – McNab

+0

谢谢!好主意 :) –

回答

0

这似乎已经做到了,我设置了smoothHeight变回“假”,在调整大小功能的开始,使页面加载完成后它不会尝试在动画高度调整。然后,我在调整大小的函数中将slider.viewport高度设置为“100%”,这会重置高度,然后在调整页面大小时作出响应:) 最后但并非最不重要的一点,我将resetHeight布尔变量添加到顶部第一次调整大小时设置为false的脚本,因此每次调整页面大小时都不会浪费资源将视口高度设置为100%。关于调整大小调整大小和过渡高度FlexsSider

resize: function() { if(resetHeight) { slider.viewport.height("100%"); resetHeight=false;} if (!slider.animating && slider.is(':visible')) { if (!carousel) slider.doMath(); if (fade) { // SMOOTH HEIGHT: methods.smoothHeight(); } else if (carousel) { //CAROUSEL: slider.slides.width(slider.computedW); slider.update(slider.pagingCount); slider.setProps(); } else if (vertical) { //VERTICAL: slider.viewport.height(slider.h); slider.setProps(slider.h, "setTotal"); } else { // SMOOTH HEIGHT: if (vars.smoothHeight) methods.smoothHeight(); slider.newSlides.width(slider.computedW); slider.setProps(slider.computedW, "setTotal"); } } }, smoothHeight: function(dur) { if (!vertical || fade) { var $obj = (fade) ? slider : slider.viewport; (dur) ? $obj.animate({"height": slider.slides.eq(slider.animatingTo).height()}, dur) : $obj.height(slider.slides.eq(slider.animatingTo).height()); } },

0

禁用流畅高度FlexSlider。

在我的情况下,我不得不停止FlexsSider在调整大小后顺利适应视口高度。

该解决方案不在.js文件中。

我的帽子,以消除.css过渡效果,这是创建延迟:

.flex-viewport {max-height: 2000px; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; transition: all 1s ease;} 

更改为此:

.flex-viewport {max-height: 2000px;} 

问候