0

PHP および AJAX コード:

<div id = "galleryContainer"></div>

var linkArray = document.getElementByTagName('a');

for (var i = 0; i > linkArray.length; i++)
{
    if (linkArray[i].getAttribute('class') == 'myLinks')
    {
        linkArray[i].onclick = function ()
        {
            var url = (this.href);

            var xmlhttp;

            if (window.XMLHttpRequest)
            {
                xmlhttp = new XMLHttpRequest ();
            }
            else
            {
                xmlhttp = new ActiveXObject ("Microsoft.XMLHTTP");
            }

            xmlhttp.onreadystatechange = function()
            {
                if (xmlhttp.readyState == 4 && xmlhttp.status == 200)
                {
                    document.getElementById ("galleryContainer").innerHTML = xmlhttp.responseText;
                }
            }

            xmlhttp.open ("GET", "stubs/storage.php?theurl="+url, true);
            xmlhttp.send()

            return (false);

        }
    }
}

現在、ローカルホストでこれをテストしていますが、HTML にリンクが表示されます。クリックすると正しく開きますが、URL は画像の実際の場所に変更されます。

http://localhost/images/gallery/image-name.extension.

また、ページに戻るには、文字通り戻るボタンを押す必要があります。HTMLリンクが存在する場所のすぐ下にリンクが画像を表示するようにしようとしています。

storage.php という別のファイルを呼び出そうとしていますが、機能していないようです。アラートを使用してみましたが、別のファイルも使用しましたが、開かないだけです。これまでのところ、ファイルの間違った場所へのリンクに問題があるとは思いませんが、ファイルの呼び出しに問題があると思います。私は W3 の例からかなりの量のコードを使用しています。

いつものように、私は調査を行い、人々が何かを新しいウィンドウで開きたいと思ってコードにリバースエンジニアリングしようとした他のスタックオーバーフローの例をたどろうとしましたが、うまくいきませんでした。私は Ajax にかなり慣れていないので、助けていただければ幸いです。

4

1 に答える 1

0

ページに画像が 1 つだけ必要な場合。galleryContainer を画像にすることをお勧めします。

<img src="" id="galleryContainer" />

これを JS として使用する:

for (var i = 0; i > linkArray.length; i++)
{
    if (linkArray[i].getAttribute('class') == 'myLinks')
    {
        linkArray[i].onclick = function ()
        {
            var url = (this.href);

            document.getElementById('galleryContainer').src = url;
            return false;
        }
    }
}

ソースが変更されるたびに画像がリロードされ、到達しようとしている効果が得られると思います。

とは言うものの、コメントで言及されているように、ファンシーボックスはおそらくあなたが達成しようとしているものである可能性が高いので、調査する価値があるかもしれません.

于 2013-04-21T07:05:56.497 に答える