2017-09-08 9 views
0

スライダーを使用してウェブページに画像を表示しています。コードは正常に動作し、画像は適切にスライドします。しかし、jqueryを使用してイメージを動的に追加すると、イメージはスライディングではなく他のものの下に積み重なります。理由は何でしょうか?スライダー画像を動的に追加したときに下に1つ表示される画像

ここでは、画像をスライダに静的にリンクするときに問題なく動作するコードを示します。

<div class="slider" data-arrows="true" > 
       <ul class="slides" id="slider" > 
        <li> <img alt="Image" src="img/work-1.jpg" /> </li> 
        <li> <img alt="Image" src="img/work-1.jpg" /> </li> 
        <li> <img alt="Image" src="img/work-1.jpg" /> </li> 
        <li> <img alt="Image" src="img/work-1.jpg" /> </li> 

       </ul> 
    </div> 

画像を追加して画像を動的に追加するときに、この画像が重なって表示されます。

for(var i=0; i<10;i++){ 

     var x = ' <li>'+ 
       '<img alt="Image" src="img/work-1.jpg" />'+ 
       '</li>'; 

    $("#slider").append(x); 

    } 
+0

わかりにくい場合は、jsbin/jsfiddleリンクを作成して共有できますか? –

+0

あなたのスライダ機能は、初期化時に存在する画像上で動作することがあります。オブジェクトを追加すると、スライダの再初期化が必要な機能のために必要になります。 –

答えて

0

あなたはフレキシボックスを使用してに開放している場合は、あなたがあなたのCSSでこのような何かを行うことができます:

$(document).ready(function() { 
 
    for (var i = 0; i < 10; i++) { 
 
    var x = ' <li>' + 
 
     '<img alt="Image" src="https://placebear.com/g/100/100" />' + 
 
     '</li>'; 
 
    $("#slider").append(x); 
 
    } 
 
})
.slides { 
 
    display: flex; 
 
    padding-left: 0; 
 
    list-style: none; 
 
}
<div class="slider" data-arrows="true"> 
 
    <ul class="slides" id="slider"> 
 
    <li> <img alt="Image" src="https://placebear.com/g/100/100" /> </li> 
 
    <li> <img alt="Image" src="https://placebear.com/g/100/100" /> </li> 
 
    <li> <img alt="Image" src="https://placebear.com/g/100/100" /> </li> 
 
    <li> <img alt="Image" src="https://placebear.com/g/100/100" /> </li> 
 
    </ul> 
 
</div> 
 

 

 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

あなたがラップするスライドが必要な場合は、追加することができますflex-wrap: wrap;.slidesにコピーしてください。

+0

私はフリッキーを使用しています、私はデフォルトで購入したテーマが付属しています。私のCSSに上記のコードを追加しようとすると、すべての画像が1つの画像に積み重なる。フレックスラップの追加:折り返しにより、前のエラーに戻ります。 – Anirudh

関連する問題