創建圖庫頁面時出現問題。我正在使用Bootstrap作爲基礎,並且很好。我查看了各種滑塊和旋轉木馬,並選擇了Flexslider2 - 它的工作原理非常棒,看起來很棒,並且作爲單個滑塊工作得很好。Bootstrap選項卡中的兩個或多個Flexslider2
但是我現在想要使用4個Flexsliders,每個選項卡上都有一個用於圖庫頁面。好的,我可以有4頁,但它只會在1頁上看起來更好。
我對Javascript很新,但知道html(但不是DOM)。下面我的例子就是爲了簡單而設置2個Flexsliders。
當我的頁面觸發初始Flexslider是好的,但當我切換標籤第二個沒有顯示,沒有錯誤,但當我在屏幕上放置一個警報作爲第二個Flexslider被初始化,然後顯示。這是指向一個DOM問題,但我似乎無法找到解決方案。
HTML;
<div class="row-fluid">
<div class="span9">
<section id="tabs">
<div class="bs-docs-example">
<ul class="nav nav-tabs" id="myTab">
<li class="active"><a href="#home">Home</a></li>
<li><a href="#profile">Profile</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="home">
<p>this is tab1 (0)</p>
<section class="slider">
<div id="slider1" class="flexslider">
<ul class="slides">
<li> <img src="assets/gallery/slide1.jpg" /> </li>
<li> <img src="assets/gallery/slide2.jpg" /> </li>
<li> <img src="assets/gallery/slide3.jpg" /> </li>
<li> <img src="assets/gallery/slide4.jpg" /> </li>
</ul>
</div>
<div id="carousel1" class="flexslider">
<ul class="slides">
<li> <img src="assets/gallery/slide1.jpg" /> </li>
<li> <img src="assets/gallery/slide2.jpg" /> </li>
<li> <img src="assets/gallery/slide3.jpg" /> </li>
<li> <img src="assets/gallery/slide4.jpg" /> </li>
</ul>
</div>
</section>
</div>
<div class="tab-pane" id="profile">
<p>this is tab2 (1)</p>
<section class="slider">
<div id="slider2" class="flexslider">
<ul class="slides">
<li> <img src="assets/gallery/slide2.jpg" /> </li>
<li> <img src="assets/gallery/slide3.jpg" /> </li>
<li> <img src="assets/gallery/slide4.jpg" /> </li>
<li> <img src="assets/gallery/slide1.jpg" /> </li>
</ul>
</div>
<div id="carousel2" class="flexslider">
<ul class="slides">
<li> <img src="assets/gallery/slide2.jpg" /> </li>
<li> <img src="assets/gallery/slide3.jpg" /> </li>
<li> <img src="assets/gallery/slide4.jpg" /> </li>
<li> <img src="assets/gallery/slide1.jpg" /> </li>
</ul>
</div>
</section>
</div>
</div>
</div>
<hr class="bs-docs-separator">
</section>
</div>
</div>
而javascript是;
<script type="text/javascript">
$('#myTab a').click(function (e) {
e.preventDefault();
alert("just about to call initflex");
initflexsliders();
$(this).tab('show');
})
</script>
<script type="text/javascript">
$(window).load(function(){
initflexsliders();
});
</script>
<script type="text/javascript">
function initflexsliders(){
$('#carousel1').flexslider({
animation: "slide",
controlNav: false,
animationLoop: false,
slideshow: false,
itemWidth: 100,
itemMargin: 5,
asNavFor: '#slider1'
});
$('#slider1').flexslider({
animation: "slide",
controlNav: false,
animationLoop: false,
slideshow: false,
sync: "#carousel1",
});
$('#carousel2').flexslider({
animation: "slide",
controlNav: false,
animationLoop: false,
slideshow: false,
itemWidth: 100,
itemMargin: 5,
asNavFor: '#slider2'
});
$('#slider2').flexslider({
animation: "slide",
controlNav: false,
animationLoop: false,
slideshow: false,
sync: "#carousel2",
});
}
</script>
有沒有人有任何想法?我期望它是簡單的,但它讓我拉我的頭髮?
嗨uvgrin,非常感謝您的幫助,它似乎工作。那麼當我添加另一個標籤時會發生什麼?我已經創建了一個基於你的jsfiddle,第三個選項卡(無論我選擇它們的順序如何)都需要額外的點擊,但一旦它被加載(啓動它的很棒)。有一些理解,我只是沒有到這裏 - 再次感謝您的時間。這是我的小提琴[鏈接](http:// jsfiddle。net/didsy/76Dkr /) – dids
嗨uvgrin,我與你的解決方案一起工作,並得到它在所有標籤上發射所有Flexsliders,非常感謝你的努力和你的榜樣。我使用了[href =「」]功能來觸發每個功能。 – dids
哦,是的,我錯過了你有更多的選項卡,無論如何,我會建議你一樣的事情。樂意效勞。 – uvgrin