我試圖在引導輪播中使用ElevateZoom。我使用jQuery .each函數在傳送帶上的第一張圖像上正常工作,但它在任何後續圖像上都無法正常工作。看起來它只適用於頁面加載時「活動」的項目。jQuery。每個僅在引導輪播中的第一個元素上工作
這裏是我的傳送帶上的HTML:
<div id='carousel-custom' class='carousel slide'>
<div class='carousel-outer'>
<!-- Wrapper for slides -->
<div class='carousel-inner'>
<div class='item active'>
<span></span>
<a href="images/large/product-image01.png" data-fancybox><img id="image_01" class="img-responsive" src='images/product-image.png' data-zoom-image="images/large/product-image01.png" alt='' /></a>
</div>
<div class='item'>
<span></span>
<a href="images/large/product-image02.png" data-fancybox><img id="image_02" class="img-responsive" src='images/product-image.png' data-zoom-image="images/large/product-image02.png" alt='' /></a>
</div>
<div class='item'>
<a href="images/large/product-image03.png" data-fancybox><img id="image_03" class="img-responsive" src='images/product-image.png' data-zoom-image="images/large/product-image03.png" alt='' />
</div>
<div class='item'>
<a href="images/large/product-image04.png" data-fancybox><img id="image_04" class="img-responsive" src='images/product-image.png' data-zoom-image="images/large/product-image04.png"alt='' />
</div>
</div>
<!-- Controls -->
<a class='left carousel-control' href='#carousel-custom' data-slide='prev'>
<span class='glyphicon glyphicon-chevron-left'></span>
</a>
<a class='right carousel-control' href='#carousel-custom' data-slide='next'>
<span class='glyphicon glyphicon-chevron-right'></span>
</a>
</div>
<!-- Indicators -->
<ol class='carousel-indicators'>
<li data-target='#carousel-custom' data-slide-to='0' class='active'><img src='images/item-thumb.png' alt='' /></li>
<li data-target='#carousel-custom' data-slide-to='1'><img src='images/item-thumb.png' alt='' /></li>
<li data-target='#carousel-custom' data-slide-to='2'><img src='images/item-thumb.png' alt='' /></li>
<li data-target='#carousel-custom' data-slide-to='3'><img src='images/item-thumb.png' alt='' /></li>
</ol>
</div>
這裏是從我的外部JavaScript文件中的代碼。我在結束標記之前包含了這個權限,因爲它在標題中不起作用。另外值得注意的是,如果我使用$(document).ready,它似乎並不工作。
$('.carousel-inner .item a img').each(function(){
$(this).elevateZoom({
zoomType: "inner",
cursor: "crosshair"
});
});
我很感激任何幫助理解爲什麼這只是在我的傳送帶的第一張圖片上工作。
編輯: 我也試過手動選擇每個圖像,但它仍然只適用於加載的一個圖像加載頁面時:
$("#image_01").elevateZoom({
zoomType: "inner",
cursor: "crosshair"
});
$("#image_02").elevateZoom({
zoomType: "inner",
cursor: "crosshair"
});
$("#image_03").elevateZoom({
zoomType: "inner",
cursor: "crosshair"
});
$("#image_04").elevateZoom({
zoomType: "inner",
cursor: "crosshair"
});
你確定你需要使用'.each()'嗎?嘗試'$('。carousel-inner .item a img')。elevateZoom(...)' – Barmar
剛剛嘗試過,不幸的是,即使在第一張圖片中,該代碼也不起作用。 –
這是沒有意義的,它在HTML的末尾工作,但不在'$(document).ready()'中。 – Barmar