CSS を使用してプレビュー ポップアップ ウィンドウのスタイルを設定し、JavaScript を使用してサーバー リクエストを作成し、ポップアップ ウィンドウを表示します。必要な友達はそれを参照できます
まず実装コードを見てください
html コード部分。
<!DOCTYPE html> <html> <head> <title>Previewing Links</title> <link rel="stylesheet"href="script05.css" rel="external nofollow" > <script src="script05.js"></script> </head> <body> <h2>A Gentle Introduction to JavaScript</h2> <ul> <li><a href="jsintro/2000-08.html" rel="external nofollow" >August column</a></li> <li><a href="jsintro/2000-09.html" rel="external nofollow" >September column</a></li> <li><a href="jsintro/2000-10.html" rel="external nofollow" >October column</a></li> <li><a href="jsintro/2000-11.html" rel="external nofollow" >November column</a></li> </ul> <p id="previewWin"> </p> </body> </html>
この CSS は、ウィンドウのプレビュー ポップアップ スタイルを設定します。ページ上のすべてのリンクを経由して、各リンクに onmouseover イベント
ハンドラーを追加します。このイベント ハンドラーは、(以下に示すように) ターゲット ページを読み取り、(可能性のある) 訪問者にプレビューを表示します。2.
#previewWin { background-color: #FF9; width: 400px; height: 100px; font: .8em arial, helvetica, sans-serif; padding: 5px; position: absolute; visibility: hidden; top: 10px; left: 10px; border: 1px #CC0 solid; clip: auto; overflow: hidden; } #previewWin h1, #previewWin h2 { font-size: 1.0em; }
x および y 位置を取得できます。
3.
window.onload = initAll; var xhr = false; var xPos, yPos; function initAll() { var allLinks = document.getElementsByTagName("a"); for (var i=0; i< allLinks.length; i++) { allLinks[i].onmouseover = getPreview; } } function getPreview(evt) { if (evt) { var url = evt.target; } else { evt = window.event; var url = evt.srcElement; } xPos = parseInt(evt.clientX); yPos = parseInt(evt.clientY); if (window.XMLHttpRequest) { xhr = new XMLHttpRequest(); } else { if (window.ActiveXObject) { try { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) { } } } if (xhr) { xhr.onreadystatechange = showContents; xhr.open("GET", url, true); xhr.send(null); } else { alert("Sorry, but I couldn't create an XMLHttpRequest"); } } function hidePreview() { document.getElementById("previewWin").style.visibility = "hidden"; } function showContents() { var prevWin = document.getElementById("previewWin"); if (xhr.readyState == 4) { if (xhr.status == 200) { prevWin.innerHTML = xhr.responseText; } else { prevWin.innerHTML = "There was a problem with the request " + xhr.status; } prevWin.style.top = yPos+2 + "px"; prevWin.style.left = xPos+2 + "px"; prevWin.style.visibility = "visible"; prevWin.onmouseout = hidePreview; } }
プレビューを表示する場合は、再度非表示にする必要がありますね。 HidePreview() の機能は、プレビュー ウィンドウの表示設定を非表示にリセットすることです。
4.var prevWin = document.getElementById("previewWin");
if (xhr.readyState == 4) {
Ajax を使用してファイルを読み込んだ後、showContents() 関数に入ります。後で使用できるように、previewWin 要素を prevWin
に保存します。 xhr.readyState が 4 の場合、プレビューが表示されます。
var allLinks = document.getElementsByTagName("a"); for (var i=0; i< allLinks.length;i++) { allLinks[i].onmouseover = getPreview; }
すべてが正常であれば、xhr.status は 200 であり、prevWin.innerHTML に入れたいデータはすでに xhr.responseText に格納されています
この後、プレビュー ウィンドウを表示する場所、つまり現在のマウスの X 座標と Y 座標を見つける必要があります。このウィンドウはポップアップ ウィンドウなので、呼び出しをトリガーした現在のマウス位置の少し下と右に配置します (下に 2 ピクセル、右に 2 ピクセル)。
最後に、prevWin を表示に設定し、マウスがプレビュー ウィンドウから離れたときに prevWin を非表示にする必要があることを JavaScript に知らせます。
上記は私があなたのためにまとめたものです。
関連記事:
SSHオンラインモールはajaxを利用してユーザー名の非同期認証を完了
Ajax非同期送信データ戻り値行折り返し問題例分析
以上がajax を使用してリンクをプレビューし、リンクの内容を確認しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。