jQuery 學(xué)習(xí)筆記

1. 兩列等高布局
如果使用了兩個(gè)CSS列,使用此種方式可以是兩列的高度相同。

$(document).ready(function() {
    function equalHeight(group) {
        tallest = 0;
        group.each(function() {
            thisHeight = $(this).height();
            if(thisHeight > tallest) {
                tallest = thisHeight;
            }
        });
        group.height(tallest);
    }
    /*使用方法*/
    $(document).ready(function() {
        equalHeight($("div"));
    });
});

2. 檢測(cè)瀏覽器

$(document).ready(function() { 
    // Target Firefox 2 and above 
    if ($.browser.mozilla && $.browser.version >= "1.8" ){ 
    // do something 
    } 
    // Target Safari 
    if( $.browser.safari ){ 
    // do something 
    } 
    // Target Chrome 
    if( $.browser.chrome){ 
    // do something 
    } 
    // Target Camino 
    if( $.browser.camino){ 
    // do something 
    } 
    // Target Opera 
    if( $.browser.opera){ 
    // do something 
    } 
    // Target IE6 and below 
    if ($.browser.msie && $.browser.version <= 6 ){ 
    // do something 
    } 
    // Target anything above IE6 
    if ($.browser.msie && $.browser.version > 6){ 
    // do something 
    } 
}); 

3. 返回頂部按鈕
你可以利用 animate 和 scrollTop 來(lái)實(shí)現(xiàn)返回頂部的動(dòng)畫(huà),而不需要使用其他插件。

/*Back to top*/
$('a.top').click(function () { 
    $(document.body).animate({
        scrollTop: 0
    }, 800); 
    return false;
});
/* Create an anchor tag */
<a class="top" href="#">Back to top</a>

4. Fix Broken Images Automatically

$('img').on('error', function () {
    $(this).prop('src', 'img/broken.png');
});

5.鼠標(biāo)懸停(hover)切換 class 屬性

$('.btn').hover(function () { 
    $(this).addClass('hover');
}, function () {
     $(this).removeClass('hover'); 
});

只需要添加必要的CSS代碼即可。
如果想要更簡(jiǎn)潔的代碼,可以使用 toggleClass 方法:

你只需要添加必要的CSS代碼即可。如果你想要更簡(jiǎn)潔的代碼,可以使用 toggleClass 方法:
$('.btn').hover(function () { 
    $(this).toggleClass('hover'); 
});

6.阻止鏈接加載

$('a.no-link').click(function (e) { 
    e.preventDefault();
});

7.驗(yàn)證元素是否為空

$(document).ready(function() { 
    if ($('#id').html()) { 
        // do something 
    }
});

8.隨機(jī)數(shù)
1到10之間的隨機(jī)數(shù)

function rd(){
    return Math.floor(Math.random()*10+1);
}
alert(rd());

n和m之間的隨機(jī)數(shù)

function rd(n,m){
    var c = m-n+1;  
    return Math.floor(Math.random() * c + n);
}
var n = 5;
var m = 100;
alert(rd(n,m));

9.排序
根據(jù)數(shù)組中的某一項(xiàng)進(jìn)行判斷排序;

function sortByKey(arr,key) {
    return arr.sort(function (a,b) {
        var x = a[key];
        var y = b[key];
        return ((x<y)? -1 : ((x>y) ? 1 : 0));
    })
}

10.阻止鏈接加載

$('a.no-link').click(function (e) { 
    e.preventDefault(); 
});

11.簡(jiǎn)單的手風(fēng)琴效果

// Close all panels 
$('#accordion').find('.content').hide(); 
// Accordion 
$('#accordion').find('.accordion-header').click(function () { 
    var next = $(this).next(); 
    next.slideToggle('fast'); 
    $('.content').not(next).slideUp('fast'); 
    return false; 
});

12.延時(shí)加載功能

$(document).ready(function() { 
    window.setTimeout(function() { 
        // do something 
    }, 1000); 
});

13.使元素居屏幕中間位置

$(document).ready(function() {
    jQuery.fn.center = function () { 
        this.css("position","absolute");
        this.css("top", ( $(window).height() - this.height() ) /2+$(window).scrollTop() + "px");
        this.css("left", ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + "px");       
        return this; 
    } 
    $("#id").center(); 
});

$.fn.abc()是對(duì)jquery擴(kuò)展了一個(gè)abc方法,后面每一個(gè)jquery實(shí)例都可以引用這個(gè)方法了。如$("#div").abc()

14.與其他Javascript類(lèi)庫(kù)沖突解決方案

$(document).ready(function() { 
    var $jq = jQuery.noConflict(); 
    $jq('#id').show(); 
});

noConflict() 方法釋放 jQuery 對(duì) $ 變量的控制;該方法也可用于為 jQuery 變量規(guī)定新的自定義名稱(chēng)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,106評(píng)論 6 542
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,441評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 178,211評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,736評(píng)論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,475評(píng)論 6 412
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,834評(píng)論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,829評(píng)論 3 446
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 43,009評(píng)論 0 290
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,559評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,516評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,038評(píng)論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,728評(píng)論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 35,132評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 36,443評(píng)論 1 295
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,249評(píng)論 3 399
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,484評(píng)論 2 379

推薦閱讀更多精彩內(nèi)容