麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > AJAX > 正文

JQuery實現Ajax加載圖片的方法

2024-09-01 08:33:09
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了JQuery實現Ajax加載圖片的方法,涉及jQuery基于緩存獲取圖片的技巧,需要的朋友可以參考下
 

本文實例講述了JQuery實現Ajax加載圖片的方法。分享給大家供大家參考,具體如下:

最近在學習JQuery,想從原理上模擬一下無刷新的相冊瀏覽。

最先想到的思路是利用緩存,也就是先顯示提示消息,然后get圖片,在get完的時候回調,將img標簽的src改掉,由于剛剛get過,有了緩存,所以圖片會立刻顯示出來。

頁面元素:

<input class="picbtn" type="button" value="Next" /><div class="tip">正在加載……</div><div class="notice"><img /></div>

按鈕的事件綁定:

復制代碼代碼如下:
$(".picbtn").click(function(){NextPic();});

定義了一個數組PicArr用來記錄所有圖片

 

NextPic內容:

$(".tip").slideDown(200); //顯示提示$.get(PicArr[CurrPic],function(){$("img").attr("src",PicArr[CurrPic]);$(".tip").slideUp(200);CurrPic++;if(CurrPic>4)CurrPic=0;});

在CHROME和FF下顯示正常,IE6下異常,IE7、8未測試。

后來在ASPRAIN的開發者 稽山草 的幫助下,思路改成了先改src,然后綁定onload事件,在onload中回調。

核心代碼:

$("img").attr("src",PicArr[CurrPic]) .bind('load',function(){$(".tip").slideUp(200);CurrPic++;if(CurrPic>4)CurrPic=0;});

后來一看基本正常了,但是仔細看還是不正常,圖片順序開始亂跳,跟蹤了好久發現回調函數會多次運行。

中間想到會不會是事件綁定的問題,因為onclick事件的綁定是

復制代碼代碼如下:
$(Element).bind("click",callback)
可以簡寫成
復制代碼代碼如下:
$(Element).click(callback)
想到$(Element).bind("load",callback)和$(Element).load(url,callback)會不會是一樣,查資料寫得都不怎么清楚,改了試一下,還是不一樣,不過在chrome和ff下依然能工作,但是數據不太正常,IE下報錯。

 

再次檢查 稽山草 給的代碼,發現問題在哪了。

load事件的綁定的是一個匿名函數,而當按鈕按下時會再次綁定,所以會重復執行。于是將綁定bind改成one搞定。最終完整代碼如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>JQUERY動態加載圖片</title><script type="text/javascript" src="jquery/jquery-1.3.2.min.js"></script><script type="text/javascript">(function($){$.NextPic=function(){$(".tip").slideDown(200);$("img").attr("src",PicArr[CurrPic]).one('load',function(){$(".tip").slideUp(200);CurrPic++;if(CurrPic>4)CurrPic=0;});//$("img").load(PicArr[CurrPic],function(){$(this).attr("src",PicArr[CurrPic]);$(".tip").slideUp(200);alert(CurrPic);CurrPic++;if(CurrPic>4)CurrPic=0;});}})(jQuery);$(document).ready(function(){PicArr = new Array("1.jpg","2.jpg","3.jpg","4.jpg","5.jpg");CurrPic=0;$(".tip").css({"position":"absolute","top":"100px","left":"50px"});$(".tip").hide();$(".scoll").click(function(){$.NextPic();});})</script></head><body><input class="picbtn" type="button" value="Next" /><div class="tip">正在加載……</div><div class="notice"><img id="img"/></div></body></html>

希望本文所述對大家jQuery程序設計有所幫助。



注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲人成网在线观看 | 日本在线看 | wwwxxx视频 | 日韩99 | 国产乱xxxx | 视屏一区 | 成人在线视频免费看 | 草逼一区| 国产91成人| 日本道中文字幕 | 成人影片在线免费观看 | 黄色一级片免费在线观看 | 一本一道久久久a久久久精品91 | 曰批全过程40分钟免费视频多人 | 91福利影视 | 国内精品久久久久久久影视红豆 | 麻豆国产网站 | 欧美亚洲国产成人综合在线 | 久久久看 | 国产精品久久久久久模特 | 久久精品超碰 | 亚洲欧美国产精品va在线观看 | 一本色道久久综合亚洲精品小说 | 色播视频在线播放 | 九九热精品视频在线 | 色网免费观看 | 99精品视频在线看 | 激情大乳女做爰办公室韩国 | 国产亚洲精品综合一区 | 99国产精品欲a | 一区二区三区日韩在线 | 欧美精品成人一区二区在线观看 | 欧美成人黄色小视频 | 久久成人亚洲 | 久久久精品视 | 欧产日产国产精品99 | 极品一级片 | 蜜桃久久一区二区三区 | 7777欧美 | 久久精品亚洲一区二区三区观看模式 | 国产超碰人人爽人人做人人爱 |