1
我試圖使用Flexslider,並且在將Flexslider封裝在另一個div中時隱藏它,然後試圖在單擊按鈕時顯示整個div。我沒有使用AJAX調用來加載滑塊或任何其他div,而是使用JQ來隱藏然後顯示點擊按鈕時的顯示內容(因爲該站點相對簡單而且很小)。加載/顯示Flexslider問題
**//This is the JQuery I've tried using**
<script type="text/javascript" charset="utf-8">
$('#projectsPage').hide();
$('#projectsLink').click(function(){
$('#projectsPage').fadeIn(1000).load(function(){
$('.flexslider').flexslider({
animation: "fade",
slideshow: true,
animationLoop: true,
animationSpeed: "3000",
slideshowSpeed: "8000",
controlNav: false,
directionNav: false
});
});
});
</script>
**<!-- HTML-->**
<!--Click this link to show the div containing the flexslider-->
<a href="#projectsPage" id="projectsLink">link</a>
<!--Div containing the flexslider div (which is part of the source code)-->
<div id="projectsPage">
<div class="flexslider">
<ul class="slides">
<li>
<img src="js/flexslider/images/img2.jpg" />
</li>
<li>
<img src="js/flexslider/images/img3.jpg" />
</li>
<li>
<img src="js/flexslider/images/img4.jpg" />
</li>
</ul>
</div>
</div>
此代碼是grander文檔的一部分,但它並不是那麼複雜。有人可以告訴我,如果我打破了某些東西或需要包含更多信息嗎?
此外,在JS控制檯中似乎沒有錯誤,所以我很難爲什麼它不會顯示。它會「加載」#projectsPage div,如URL中所示,但在窗口中不顯示任何內容。
我很新的JQuery所以很好:)
謝謝!
我不認爲.load是你正在尋找的功能可按。 – 2013-07-09 06:42:30
如果您想要淡入淡出效果,您可能必須在淡入淡出之前應用一些樣式才能使其達到正確大小,然後初始化柔性滑塊,然後調用淡入淡出效果,否則隱藏容器的大小通常爲0px,即導致柔性滑板即使在淡入之後仍保持隱藏狀態。 – 2013-07-09 06:46:01
更好的方法可能是在加載時初始化柔性滑板,然後隱藏它。點擊時,fadeIn可能會爲你工作,而不會有太多麻煩,否則你需要讓flexslider自己調整大小(有可能調用flexslider resize方法)。否則,如果您允許用戶隱藏並重新顯示它,您將重新初始化FlexSlider。 – 2013-07-09 06:48:01