中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      揭秘利用ajax實(shí)現(xiàn)預(yù)覽鏈接看鏈接的內(nèi)容

      時間:2024-10-19 13:37:09 AJAX 我要投稿
      • 相關(guān)推薦

      揭秘利用ajax實(shí)現(xiàn)預(yù)覽鏈接看鏈接的內(nèi)容

        今天由yjbys小編給大家?guī)碛胊jax實(shí)現(xiàn)預(yù)覽鏈接可以看到鏈接的內(nèi)容的方法,希望對大家有所啟發(fā)。想了解更多相關(guān)資訊請持續(xù)關(guān)注我們應(yīng)屆畢業(yè)生培訓(xùn)網(wǎng)。

        首先先看實(shí)現(xiàn)代碼

        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設(shè)置預(yù)覽彈出窗口的樣式

        #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進(jìn)行服務(wù)器請求并且顯示彈出窗口

        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()函數(shù)的內(nèi)容,它遍歷頁面上的所有鏈接,并且在每個鏈接上添加onmouseover事件

        處理程序。這個事件處理程序?qū)ⅲ阆旅鎸⒖吹降模┳x取目標(biāo)頁面并且向(可能的)訪問者顯示預(yù)覽。

        2.

        if (evt) {

        var url = evt.target;

        }

        else {

        evt = window.event;

        var url = evt.srcElement;

        }

        xPos = parseInt(evt.clientX);

        yPos = parseInt(evt.clientY);

        在getPreview()中,首先需要查明要讀取哪個文件,這就要查看事件的屬性。根據(jù)訪問者使用的

        瀏覽器不同,URL保存在evt.target或window.event.srcElement中。獲得了URL之后,就可以獲得

        鼠標(biāo)的x和y位置供以后使用。

        3.

        function hidePreview() {

        document.getElementById ("previewWin").style.visibility = "hidden";

        }

        如果打算顯示預(yù)覽,將需要再次隱藏它,對嗎?hidePreview()函數(shù)的作用是將預(yù)覽窗口的可見性

        重新設(shè)置為隱藏。

        4.

        var prevWin = document.getElementById("previewWin");

        if (xhr.readyState == 4) {

        使用Ajax讀取文件之后,現(xiàn)在進(jìn)入了showContents()函數(shù)。我們將previewWin元素存儲在prevWin

        中以備后用。當(dāng)xhr.readyState為4時,就該顯示預(yù)覽了。

        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中的數(shù)據(jù)已經(jīng)存

        在于xhr.responseText中了。如果出現(xiàn)了問題,就在prevWin.innerHTML中放一個錯誤消息。

        在此之后,需要查明要在哪里顯示預(yù)覽窗口,也就是當(dāng)前的鼠標(biāo)x和y坐標(biāo)。這個窗口是一個彈

        出窗口,所以將它放在觸發(fā)該調(diào)用的當(dāng)前鼠標(biāo)位置向下和向右一點(diǎn)兒的地方(向下和向右各2像素)。

        最后,將prevWin設(shè)置為可見,并且讓JavaScript知道,當(dāng)鼠標(biāo)離開預(yù)覽窗口時,應(yīng)該隱藏prevWin。

      【揭秘利用ajax實(shí)現(xiàn)預(yù)覽鏈接看鏈接的內(nèi)容】相關(guān)文章:

      如何利用錨文本鏈接進(jìn)行基本優(yōu)化?03-22

      防盜鏈接ASP函數(shù)實(shí)現(xiàn)代碼01-23

      word清除超鏈接03-31

      網(wǎng)站鏈接優(yōu)化方法11-29

      excel如何打開鏈接03-04

      容易混淆的鏈接詳解03-21

      word設(shè)置超鏈接文件03-31

      網(wǎng)站SEO站內(nèi)鏈接的作用11-25

      ppt怎么制作超鏈接03-08

      主站蜘蛛池模板: 18禁精品一区二区三区| 91亚洲最新国语中文字幕| 欧美丝袜秘书在线一区| av大片在线无码永久免费网址| 99re6久精品国产首页| 国产精品女丝袜白丝袜| 国产三级黄色在线观看| 金寨县| 精品亚洲不卡一区二区| 亚洲大片免费播放地址| 日韩在线精品视频观看| 中国免费一级毛片| 大新县| 日产精品一区二区三区| 亚洲视频不卡免费在线| 亚洲精品99久久久久久| 粗大挺进尤物人妻一区二区| 国产盗摄老熟女视频一区二区三区| 精品久久久中文字幕二区| 普宁市| 荣成市| 阿拉善右旗| 庆安县| 娱乐| 久久这里都是精品一区| 国产在线观看网址不卡一区| 天峨县| 乐平市| 国产不卡一区二区av| 马鞍山市| 中文精品久久久久中文| 庆安县| 亚洲av中文aⅴ无码av不卡| 国产成人精品自拍视频| 岢岚县| 日韩精品一区二区三区四区视频| 99精品视频69v精品视频免费| 丰镇市| 国产精品女同久久久久久| 国产a级黄色一区二区| 欧美在线Aⅴ性色|