亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

用ajax實現預覽鏈接可以看到鏈接的內容

2024-09-01 08:33:18
字體:
來源:轉載
供稿:網友
用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><div id="previewWin"> </div></body></html>

這個CSS設置預覽彈出窗口的樣式

#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;}

這個JavaScript進行服務器請求并且顯示彈出窗口

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;}}

分析:

1. 

var allLinks = document.getElementsByTagName("a");for (var i=0; i< allLinks.length;i++) {allLinks[i].onmouseover = getPreview;}

這是initAll()函數的內容,它遍歷頁面上的所有鏈接,并且在每個鏈接上添加onmouseover事件
處理程序。這個事件處理程序將(你下面將看到的)讀取目標頁面并且向(可能的)訪問者顯示預覽。
2.

if (evt) {var url = evt.target;}else {evt = window.event;var url = evt.srcElement;}xPos = parseInt(evt.clientX);yPos = parseInt(evt.clientY);

在getPreview()中,首先需要查明要讀取哪個文件,這就要查看事件的屬性。根據訪問者使用的
瀏覽器不同,URL保存在evt.target或window.event.srcElement中。獲得了URL之后,就可以獲得
鼠標的x和y位置供以后使用。

3.

function hidePreview() {document.getElementById ("previewWin").style.visibility = "hidden";}

如果打算顯示預覽,將需要再次隱藏它,對嗎?hidePreview()函數的作用是將預覽窗口的可見性
重新設置為隱藏。
4.
var prevWin = document.getElementById("previewWin");
if (xhr.readyState == 4) {
使用Ajax讀取文件之后,現在進入了showContents()函數。我們將previewWin元素存儲在prevWin
中以備后用。當xhr.readyState為4時,就該顯示預覽了。
5.

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;

如果一切正常,那么xhr.status為200,而且我們希望放在prevWin.innerHTML中的數據已經存
在于xhr.responseText中了。如果出現了問題,就在prevWin.innerHTML中放一個錯誤消息。
在此之后,需要查明要在哪里顯示預覽窗口,也就是當前的鼠標x和y坐標。這個窗口是一個彈
出窗口,所以將它放在觸發該調用的當前鼠標位置向下和向右一點兒的地方(向下和向右各2像素)。
最后,將prevWin設置為可見,并且讓JavaScript知道,當鼠標離開預覽窗口時,應該隱藏prevWin。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩中文字幕在线精品| 久久天天躁狠狠躁夜夜躁2014| 欧美激情在线狂野欧美精品| 人人澡人人澡人人看欧美| 亚洲国产精品99久久| 国产精品无码专区在线观看| 国产精品美女av| 国产一区二区三区精品久久久| 日韩av网站导航| 欧美大肥婆大肥bbbbb| 日韩高清不卡av| 日韩精品在线私人| 欧美电影在线观看网站| 欧美性色xo影院| 国产精品久久av| 8050国产精品久久久久久| 色妞欧美日韩在线| 亚洲国产精品悠悠久久琪琪| 国产精品久久久久久久久久久久久| 欧美高清视频在线观看| 欧美极品少妇xxxxⅹ免费视频| 欧美国产日韩一区二区在线观看| 国产一区二区在线播放| 日本视频久久久| 成人在线小视频| 欧美日韩国产中文精品字幕自在自线| 日韩av在线免费播放| 色久欧美在线视频观看| 国产精品扒开腿爽爽爽视频| 久99九色视频在线观看| 国产精品视频在线观看| 91在线免费网站| 亚洲欧美日韩中文在线制服| 久久色免费在线视频| 久久国产精品久久久| 欧美成人免费在线观看| 国产精品久久999| 97久久精品国产| 亚洲japanese制服美女| 久久精品在线视频| 在线激情影院一区| 欧美男插女视频| 日本19禁啪啪免费观看www| 日韩免费电影在线观看| 欧美性高潮在线| 夜夜狂射影院欧美极品| 91精品国产自产在线观看永久| 亚洲国产精彩中文乱码av| 韩国欧美亚洲国产| 美女黄色丝袜一区| 国产成人欧美在线观看| 久久夜色精品亚洲噜噜国产mv| 久久露脸国产精品| 亚洲国产美女精品久久久久∴| 国产精品一区二区久久久| 亚洲人成网站色ww在线| 97国产在线观看| 2019日本中文字幕| 97香蕉超级碰碰久久免费软件| 色yeye香蕉凹凸一区二区av| 国产极品精品在线观看| 久久久久99精品久久久久| 91精品久久久久久久久久久久久| 久久久久久国产三级电影| 久久成人av网站| 日韩欧美中文在线| 91久久久久久久久久| 精品亚洲永久免费精品| 久久99国产精品久久久久久久久| 亚洲欧美国产va在线影院| 亚洲免费一在线| 欧美大尺度电影在线观看| 亚洲午夜未满十八勿入免费观看全集| 久久久久久亚洲精品中文字幕| 97婷婷涩涩精品一区| 亚洲天堂av图片| 国产成人高潮免费观看精品| 国产精品国产三级国产aⅴ9色| 亚洲国产精品久久久久秋霞不卡| 欧美限制级电影在线观看| 最近的2019中文字幕免费一页| 亚洲最大成人网色| 日本人成精品视频在线| 久久精品国产清自在天天线| 中文欧美日本在线资源| 国产日韩欧美影视| 国产精品美女www| 亚洲国产精品va在线观看黑人| 最新69国产成人精品视频免费| 欧美人与性动交a欧美精品| 最近2019中文免费高清视频观看www99| 国产精品69精品一区二区三区| 国产成人精品在线视频| 国产精品久久精品| 91国产视频在线播放| 日韩av一区二区在线| 国内外成人免费激情在线视频网站| 日韩免费av片在线观看| 日韩小视频在线观看| 日本精品性网站在线观看| 久久久精品网站| 欧美亚洲另类激情另类| 亚洲成成品网站| 欧美怡春院一区二区三区| 国产精品一二三视频| 亚洲欧美日韩在线一区| 亚洲国产免费av| 中文字幕综合在线| 欧美一级淫片丝袜脚交| 日日噜噜噜夜夜爽亚洲精品| 一区二区在线视频| 国产福利成人在线| 欧美日韩国产一区二区三区| 国产大片精品免费永久看nba| 日韩大陆欧美高清视频区| 国产精品日韩欧美综合| 高清欧美性猛交xxxx黑人猛交| 免费91麻豆精品国产自产在线观看| 日韩中文字幕国产精品| 日韩av在线网| 91成人天堂久久成人| 亚洲欧美成人在线| 亚洲图片在区色| 在线播放国产精品| 国产一区二区三区直播精品电影| 欧美日韩国产成人在线观看| 久久伊人免费视频| 欧美在线视频免费播放| www.亚洲一二| 国产精品美女视频网站| 国产精品入口日韩视频大尺度| 国产美女精品免费电影| 欧美日韩精品中文字幕| 91视频国产精品| 国产精品久久久久7777婷婷| 欧美乱大交做爰xxxⅹ性3| 国产精品一区av| 亚洲成人a级网| 91精品国产自产在线老师啪| 中日韩美女免费视频网站在线观看| 亚洲精品福利资源站| 中文字幕亚洲色图| 久久久久久久97| 国产日韩欧美夫妻视频在线观看| 超碰日本道色综合久久综合| 国产在线观看一区二区三区| 2021久久精品国产99国产精品| 日韩美女视频在线观看| 精品国产电影一区| 久久在线免费视频| 国产精品18久久久久久首页狼| 美女扒开尿口让男人操亚洲视频网站| 91精品国产综合久久香蕉922| 亚洲国产精品久久精品怡红院| 成人欧美在线观看| 亚洲国产一区二区三区在线观看| 亚洲视屏在线播放| 久久久精品电影| 亚洲va久久久噜噜噜久久天堂| 欧美亚洲成人精品| 亚洲欧美日韩中文视频| 超碰日本道色综合久久综合| 日韩一二三在线视频播| 日韩极品精品视频免费观看|