1

私の Web サイトの引用符の内容を動的に変更する必要があります。実際には、表示する必要があるコンテンツをデータベースから取得する必要があるため、php スクリプトを使用してそれらを取得し、必要な方法で作成する必要があります。

私はそのようなものを使用しようとしました: http://dhtmlexamples.com/2011/02/18/dynamically-loading-content-using-ajax-and-xmlhttprequest/

しかし成功せずに:/

私のblockquoteにはhtmlが含まれていると言わざるを得ませんが、それは問題ではないと思います。

誰か助けてくれませんか?

編集:ここにいくつかのコードがあります

<blockquote class="pro-in" id="content" style="left:-10000px; opacity:0;"></blockquote>

画像をクリックすると、ブロック引用が目に見える「平面」に移動します。コンテンツは init(); で生成されます。関数。init 関数とロジックは、上記のリンクで説明されています。

// 以下の回答からの提案後に関数を修正 - JQuery 関数を使用 openpro(contentNumber){

    $.get('phpscripts/projectsLogic.php?project='+contentNumber, function(data) {
        $('#content').html(data);
    });

    $('#content').animate({left:0, opacity:1},{duration:1600});
    $('#con').animate({left:-10000, opacity:0},{duration:1600});
}

このソリューションを修正するのではなく、実際にコンテンツを作成することについてより良い提案があれば、私はそれを支持します. ------------------------------------- bxslider EDIT2 :

私が実際に呼んでいるのは bxslider (およびその他のもの) です。問題は、次のように $(document).ready 呼び出しで bxsliders を初期化していたことです。

$(document).ready(function(){
    $('.bxslider').bxSlider({
        pager: true,
        auto: true,
        speed: 2000,
        autoHover: true,
        pause: 6000
    });
    $('.bxslider1').bxSlider({
        pager: true
    });
    $('.bxslider2').bxSlider({
        pager: true
    });
    ....
    });

div のコンテンツを動的に変更すると、新しいコンテンツを処理する bxlider オブジェクトがないと思われるため、スライダーが表示されません。コンテンツを作成する関数( openpro() )内に呼び出しを入れようとしましたが、無駄でした。私もこのようなことを試しました:

var slide   = document.createElement("script");
        slide.type  = "text/javascript";
        slide.text  = "$(document).ready(function(){ $('#slider1').bxSlider({pager:true}); });";

        document.head.appendChild(slide);

しかし、まだ何も成功していません。誰にもアイデアはありますか?申し訳ありませんが、私はウェブ開発言語を使い始めたばかりなので、少し無知です..

4

1 に答える 1

2

jQuery get でこの例を試してください

testFunction('lorem.txt', 'コンテンツ'); //最初のパラメータはファイルの URL で、2 番目のパラメータはブロック引用 ID です

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
function testFunction(path, container){
    $.get(path, function(data) {
        $('#'+container).html(data);
    });
    $('#'+container).animate({left:0, opacity:1},{duration:2000});
    $('#'+container).animate({left:-10000, opacity:0},{duration:2000});
}

</script>
<body onload="testFunction('lorem.txt', 'content');">
    <blockquote class="pro-in" id="content" style="left:-10000px; opacity:0;"></blockquote>
</body>
于 2012-12-13T18:32:55.507 に答える