-2

プログラムが/inviteuploadsというフォルダーから写真を取得し、そのフォルダーの内容をスライドショーに表示するサーバー側のスライドショーを作成するための最良の方法を見つけようとしています(フォルダーには画像のみが含まれます) )。Javascript、HTML、PHP、またはあなたが提案する他のものを喜んで使用します。無理かもしれませんが、教えてください!
また、この投稿を見ました: How to create dynamic video/slideshow from pictures in PHP しかし、それは私の質問に実際には答えませんでした.フォルダーからアップロードを取得し、それらをスライドショーに表示する必要があります. また、私はphpだけを使いたいとは思っていません。他の提案された言語を受け入れています。
ありがとう!

4

2 に答える 2

3

グロブ関数を使用します。

参照: PHP を使用してディレクトリ内のすべての画像を一覧表示する

画像パスを使用してスライドショーを作成します。

于 2013-04-13T21:27:42.953 に答える
1

コードはasp.netにあります...アニメーションにはjqueryライブラリが必要です

scriptmanager の pagemethods プロパティを使用して、フォルダー「inviteuploads」にある画像にアクセスし、それらを div コンテナーに表示しています...戻り値には、「\u000d」で区切られた画像の場所が含まれます...私は fadin と fadeout を使用していますエフェクト..任意のエフェクトを使用できます:)

以下のコードを参照してください。

サーバー側コード

[System.Web.Script.Services.ScriptMethod, System.Web.Services.WebMethod]
public static string slideshow()
{
    string filename = string.Empty;

    try
    {
        string[] Files = Directory.GetFiles(HttpContext.Current.Server.MapPath("inviteuploads"));

        for (int i = 0; i < Files.Length; i++)
        {
            filename += "inviteupload/" + Path.GetFileName(Files[i]) + "\u000d";
        }
    }
    catch (Exception ex)
    {
    }
    return filename;
}

クライアント側コード

 function slideshow() {

        PageMethods.slideshow(successslideshow, failureslideshow);

        function successslideshow(msg) {
            var arr = msg.split("\u000d");
            var i = 0;

            for (j = 0; j < (arr.length - 1); j++) {
                $("#divslideshow").append("<img id=imgslideshow_" + j + " src=" + arr[j] + " width=700px height=700px style='display:none; max-height: 700px; max-width: 700px;' />");
            }

            $("#imgslideshow_" + i).fadeIn();
            setInterval(function () {
                $("#imgslideshow_" + i).fadeOut(function () {
                    i++;
                    if (i <= (arr.length - 2)) {
                        $("#imgslideshow_" + i).fadeIn();
                    }
                    else {
                        i = 0;
                        $("#imgslideshow_" + i).fadeIn();
                    }
                });
            }, 6000);
        }

        function failureslideshow(msg) {
        }
    }
于 2013-04-13T21:44:16.863 に答える