0

PHP を使用して画像を HTML にインポートしようとしていますが、NivoSlider はそれをロードしませんでした。問題の原因を探しました。応答と右の警告メッセージを印刷しています。

HTML および AJAX クエリは次のとおりです。

<div id="workcontent" class="pcontent" style="display:none;">
        <div class="slider-wrapper theme-default">
            <div id="slider" class="nivoSlider">

            </div>
        </div>
        <script>
            $(document).ready(function() {
                var wl = $('#worklist div');
                wl.on('click', function(){
                    var name = $(this).attr('id');
                    console.log(name);
                    $.ajax({
                        url: 'read.php',
                        type: 'POST',
                        data: { data : name }
                    }).done(function (response) {
                        $('#slider').prepend(response);
                        alert(response);
                    });

                });
            });
        </script>
        <div id="back"></div>
    <div id="backcontainer">
        <div id="back">
            <a href="index.php">Back</a>
        </div>
    </div><!--End backcontainer-->
</div><!--End content-->

そして、ここに他のjQueryがあります:

<script>
    $(document).ready(function() {
        $('#slider').nivoSlider(function(){alert('OK');});
    });
</script>

このアラートは表示されません! ):

最後に、PHP コードを次に示します。

<?php
if (isset($_POST["data"])){
    if ($_POST["data"] == "") {
            echo "data ures";
    } else {
        $data = $_POST["data"];
        $fname = "content/".$data."/*.*";
        $files = glob($fname);
        for ($i=0; $i<count($files); $i++)
        {
            $num = $files[$i];
            echo '<img src="'.$num.'" data-thumb="'.$num.'">';
        }
    }
} else {
    echo "nem jott data";
}
?>

私の悪い英語でごめんなさい

4

1 に答える 1

0

NivoSlider は引数として関数を取りません。

また.nivoSlider()、おそらくAJAX 呼び出しが応答を返す前に呼び出されます。より良い解決策は次のとおりです。

$(document).ready(function() {
    $.ajax({
        url: 'read.php',
        type: 'POST',
        data: { data : name }
    }).done(function (response) {
        $('#slider').prepend(response).nivoSlider( {} );    
    });
});

これで、応答本文からの画像が含まれていることをかなり確信で#slider​​きるので、NivoSlider はそれらに対して動作できます。

于 2013-04-08T20:49:34.430 に答える