JavaScript和JQuery實(shí)用代碼片段(一)
更新時(shí)間:2010年04月07日 13:53:42 作者:
JavaScript和JQuery實(shí)用代碼片段,喜歡學(xué)習(xí)jquery的朋友可以參考下。
(一)怎樣用JQuery刷新一幅圖片?
說明:我們都知道,當(dāng)我們?cè)谡?qǐng)求一個(gè)資源(比如網(wǎng)頁,圖片等)的時(shí)候,如果該資源被緩存到瀏覽器了,那么請(qǐng)求返回的就是緩存的副本,不是我們希望獲取的資源(該資源內(nèi)容已經(jīng)被更新了),此時(shí)最普遍的一個(gè)辦法就是在請(qǐng)求的頁面后面或者圖片的src后面加上一個(gè)查詢字符串"ran=" + Math.random(),這樣就會(huì)請(qǐng)求到最新版本的資源啦!
代碼:
$(imageObj).attr('src',$(imageObj).attr('src') + '?' + Math.random());
(二)怎樣用JQuery查看一幅圖片是否被完全加載?
說明:在一個(gè)頁面未加載完全的時(shí)候調(diào)用JavaScript操作常常會(huì)失敗,因?yàn)榇藭r(shí)DOM未解析完畢??梢栽趙indoiw.onload方法中執(zhí)行要執(zhí)行的JavaScript/JQuery方法(此時(shí)圖片肯定加載完成,可以獲取其高度等屬性),也可以在$(function(){})中執(zhí)行(此時(shí)DOM雖解析完畢,但是所請(qǐng)求的資源未必全部加載完成)。
如果在使用圖片之前,要事先檢測圖片是否加載完成,可以采用如下的代碼:
代碼:
var imgsrc = "img/img.png";
$(imageObj).load(function()
{
alert('圖片加載完成');
}).error(function()
{
alert('圖片加載出錯(cuò)');
}).attr('src',imgsrc);
(三)怎樣用JQuery查看多幅幅圖片是否被完全加載?
說明:說明如上,加入你頁面有十幅圖片要加載,此時(shí)可以設(shè)置一個(gè)變量記錄加載圖片數(shù),當(dāng)該變量等于總的圖片數(shù)時(shí),加載就大功告成了!
var totalImages = 10;
var loadedImages = 0;
$('img').load(function()
{
++loadedImages; //此處為閉包
if(loadedImages == totalImages)
{
alert('所有圖片加載完畢!');
}
});
(四)怎樣用JQuery對(duì)無序列表(ul)排序?
說明:有時(shí)候我們需要對(duì)一個(gè)無序列表(ul)排序(當(dāng)然可以用有序列表ol),但是ul能夠提供更多定制功能,且能自定義排序器。
代碼:(1)待排序列表為:
<ul class='to_order'>
<li>cloud</li>
<li>sun</li>
<li>rain</li>
<li>snow</li>
</ul>
(2)JQuery代碼為:
var items = $('.to_order li').get(); //獲取所有待排序li
items.sort(function(a,b) //調(diào)用javascript內(nèi)置函數(shù)sort,參數(shù)為一閉包函數(shù),也就是排序器
{
var keyA = $(a).val();
var keyB = $(b).val();
if(keyA < keyB) return -1;
if(keyA > keyB) return 1;
return 0;
});
var ul = $('.to_order');
$.each(items,function(i,li) //此時(shí)items為排好隊(duì)的集合
{
ul.append(li);
});
(五)怎樣禁止鼠標(biāo)右鍵(contextmenu)?
說明:有時(shí)候我們希望用戶不能使用鼠標(biāo)右鍵,從而避免復(fù)制,另存為等行為。
$(function(){
$(document).bind('contextmenu',function(e){
return false;
});
});
(六)怎樣實(shí)現(xiàn)一幅圖片淡出(FadeOut)后,另一幅圖片淡入(FadeIn)的效果?
說明:是時(shí)候展現(xiàn)一些比較cool效果了,淡入淡出的效果可以采用JQuery的FadeIn和FadeOut效果來實(shí)現(xiàn)。
$('img').fadeOut(function(){
$(this).load(function(){
$(this).fadeIn();
}).attr('src',AnotherSource);
});
(七)檢測一個(gè)DOM對(duì)象是否存在?
說明:在對(duì)一個(gè)DOM對(duì)象操作前,先檢測其是否存在。
//方法一
if($('#elementId').length)
{
//存在
}
//方法二
if($('#elementId').size() > 0)
{
//存在
}
//方法三
if($('#elementId')[0])
{
//存在
}
//方法四~方法N
期待大家補(bǔ)充,哈哈!
說明:我們都知道,當(dāng)我們?cè)谡?qǐng)求一個(gè)資源(比如網(wǎng)頁,圖片等)的時(shí)候,如果該資源被緩存到瀏覽器了,那么請(qǐng)求返回的就是緩存的副本,不是我們希望獲取的資源(該資源內(nèi)容已經(jīng)被更新了),此時(shí)最普遍的一個(gè)辦法就是在請(qǐng)求的頁面后面或者圖片的src后面加上一個(gè)查詢字符串"ran=" + Math.random(),這樣就會(huì)請(qǐng)求到最新版本的資源啦!
代碼:
復(fù)制代碼 代碼如下:
$(imageObj).attr('src',$(imageObj).attr('src') + '?' + Math.random());
(二)怎樣用JQuery查看一幅圖片是否被完全加載?
說明:在一個(gè)頁面未加載完全的時(shí)候調(diào)用JavaScript操作常常會(huì)失敗,因?yàn)榇藭r(shí)DOM未解析完畢??梢栽趙indoiw.onload方法中執(zhí)行要執(zhí)行的JavaScript/JQuery方法(此時(shí)圖片肯定加載完成,可以獲取其高度等屬性),也可以在$(function(){})中執(zhí)行(此時(shí)DOM雖解析完畢,但是所請(qǐng)求的資源未必全部加載完成)。
如果在使用圖片之前,要事先檢測圖片是否加載完成,可以采用如下的代碼:
代碼:
復(fù)制代碼 代碼如下:
var imgsrc = "img/img.png";
$(imageObj).load(function()
{
alert('圖片加載完成');
}).error(function()
{
alert('圖片加載出錯(cuò)');
}).attr('src',imgsrc);
(三)怎樣用JQuery查看多幅幅圖片是否被完全加載?
說明:說明如上,加入你頁面有十幅圖片要加載,此時(shí)可以設(shè)置一個(gè)變量記錄加載圖片數(shù),當(dāng)該變量等于總的圖片數(shù)時(shí),加載就大功告成了!
復(fù)制代碼 代碼如下:
var totalImages = 10;
var loadedImages = 0;
$('img').load(function()
{
++loadedImages; //此處為閉包
if(loadedImages == totalImages)
{
alert('所有圖片加載完畢!');
}
});
(四)怎樣用JQuery對(duì)無序列表(ul)排序?
說明:有時(shí)候我們需要對(duì)一個(gè)無序列表(ul)排序(當(dāng)然可以用有序列表ol),但是ul能夠提供更多定制功能,且能自定義排序器。
代碼:(1)待排序列表為:
復(fù)制代碼 代碼如下:
<ul class='to_order'>
<li>cloud</li>
<li>sun</li>
<li>rain</li>
<li>snow</li>
</ul>
(2)JQuery代碼為:
復(fù)制代碼 代碼如下:
var items = $('.to_order li').get(); //獲取所有待排序li
items.sort(function(a,b) //調(diào)用javascript內(nèi)置函數(shù)sort,參數(shù)為一閉包函數(shù),也就是排序器
{
var keyA = $(a).val();
var keyB = $(b).val();
if(keyA < keyB) return -1;
if(keyA > keyB) return 1;
return 0;
});
var ul = $('.to_order');
$.each(items,function(i,li) //此時(shí)items為排好隊(duì)的集合
{
ul.append(li);
});
(五)怎樣禁止鼠標(biāo)右鍵(contextmenu)?
說明:有時(shí)候我們希望用戶不能使用鼠標(biāo)右鍵,從而避免復(fù)制,另存為等行為。
復(fù)制代碼 代碼如下:
$(function(){
$(document).bind('contextmenu',function(e){
return false;
});
});
(六)怎樣實(shí)現(xiàn)一幅圖片淡出(FadeOut)后,另一幅圖片淡入(FadeIn)的效果?
說明:是時(shí)候展現(xiàn)一些比較cool效果了,淡入淡出的效果可以采用JQuery的FadeIn和FadeOut效果來實(shí)現(xiàn)。
復(fù)制代碼 代碼如下:
$('img').fadeOut(function(){
$(this).load(function(){
$(this).fadeIn();
}).attr('src',AnotherSource);
});
(七)檢測一個(gè)DOM對(duì)象是否存在?
說明:在對(duì)一個(gè)DOM對(duì)象操作前,先檢測其是否存在。
復(fù)制代碼 代碼如下:
//方法一
if($('#elementId').length)
{
//存在
}
//方法二
if($('#elementId').size() > 0)
{
//存在
}
//方法三
if($('#elementId')[0])
{
//存在
}
//方法四~方法N
期待大家補(bǔ)充,哈哈!
相關(guān)文章
jQuery-Easyui 1.2 實(shí)現(xiàn)多層菜單效果的代碼
早上打開郵箱,一位朋友問我之前JQuery-Easyui 怎么做可以實(shí)現(xiàn)多級(jí)菜單2012-01-01
jquery實(shí)現(xiàn)最簡單的滑動(dòng)菜單效果代碼
這篇文章主要介紹了jquery實(shí)現(xiàn)最簡單的滑動(dòng)菜單效果代碼,涉及jQuery基于鼠標(biāo)事件操作頁面元素動(dòng)態(tài)變換的基本技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09
老生常談jquery id選擇器和class選擇器的區(qū)別
下面小編就為大家?guī)硪黄仙U刯query id選擇器和class選擇器的區(qū)別。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02
jQuery實(shí)現(xiàn)鼠標(biāo)拖動(dòng)圖片功能
這篇文章主要介紹了jQuery實(shí)現(xiàn)鼠標(biāo)拖動(dòng)圖片功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
jquery實(shí)現(xiàn)自適應(yīng)banner焦點(diǎn)圖
本文主要分享了jquery實(shí)現(xiàn)自適應(yīng)banner焦點(diǎn)圖的示例代碼,具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-02-02

