首頁 web前端 js教程 15个jQuery小技巧分享

15个jQuery小技巧分享

Mar 13, 2018 pm 02:19 PM
jquery 分享

本文主要和大家分享15 个jQuery小技巧(干货)相关教程,具体实例代码请看下文,希望能帮助到大家。

1.返回顶部按钮

你可以利用animatescrollTop来实现返回顶部的动画,而不需要使用其他插件。

?

code

1

2

3

$('a.top').click(function(){

    $(document.body).animate({scrollTop:0},800);returnfalse

});

改变scrollTop的值可以调整返回距离顶部的距离,而animate的第二个参数是执行返回动作需要的时间(单位:毫秒)。

2.预加载图片

如果你的页面中使用了很多不可见的图片(如:hover 显示),你可能需要预加载它们:

?

code

1

2

3

$.preloadImages =function(){for(var i =0; i < arguments.length; i++){

$(&#39;<img>').attr('src', arguments[i]);}};

$.preloadImages('img/hover1.png','img/hover2.png');

3.检查图片是否加载完成

有时候你需要确保图片完成加载完成以便执行后面的操作:

?

code

1

2

3

$('img').load(function(){

  console.log('image load successful');

});

你可以把img替换为其他的ID或者class来检查指定图片是否加载完成。

4.自动修改破损图像

如果你碰巧在你的网站上发现了破碎的图像链接,你可以用一个不易被替换的图像来代替它们。添加这个简单的代码可以节省很多麻烦:

?

code

1

2

3

$('img').on('error',function(){

  $(this).prop('src','img/broken.png');

});

即使你的网站没有破碎的图像链接,添加这段代码也没有任何害处。

5.鼠标悬停(hover)切换Class属性

假如当用户鼠标悬停在一个可点击的元素上时,你希望改变其效果,下面这段代码可以在其悬停在元素上时添加class属性,当用户鼠标离开时,则自动取消该class属性:

?

code

1

2

3

4

$('.btn').hover(function(){

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

    $(this).removeClass('hover');

});

你只需要添加必要的CSS代码即可。如果你想要更简洁的代码,可以使用toggleClass方法:

?

code

1

2

3

$('.btn').hover(function(){

  $(this).toggleClass('hover');

});

注:直接使用CSS实现该效果可能是更好的解决方案,但你仍然有必要知道该方法。

6.禁用 input 字段

有时你可能需要禁用表单的submit按钮或者某个input字段,直到用户执行了某些操作(例如,检查“已阅读条款”复选框)。可以添加disabled属性,直到你想启用它时:

?

code

1

$('input[type="submit"]').prop('disabled',true);

你要做的就是执行removeAttr方法,并把要移除的属性作为参数传入:

?

code

1

$('input[type="submit"]').removeAttr('disabled');

7.阻止链接加载

有时你不希望链接到某个页面或者重新加载它,你可能希望它来做一些其他事情或者触发一些其他脚本,你可以这么做:

?

code

1

2

3

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

  e.preventDefault();

});

8.切换 fade/slide

fade 和 slide 是我们在 jQuery 中经常使用的动画效果,它们可以使元素显示效果更好。但是如果你希望元素显示时使用第一种效果,而消失时使用第二种效果,则可以这么做:

?

code

1

2

3

4

5

6

$('.btn').click(function(){

  $('.element').fadeToggle('slow');

});

$('.btn').click(function(){

  $('.element').slideToggle('slow');

});

9.简单的手风琴效果

这是一个实现手风琴效果快速简单的方法:

?

code

1

2

3

4

$('#accordion').find('.content').hide();

$('#accordion').find('.accordion-header').click(function(){varnext= $(this).next();next.slideToggle('fast');

  $('.content').not(next).slideUp('fast');returnfalse;

});

10.让两个 p 高度相同

有时你需要让两个 p 高度相同,而不管它们里面的内容多少。可以使用下面的代码片段:

?

code

1

2

3

4

5

var $columns = $('.column');

var height =0;$columns.each(function(){if($(this).height()> height){

    height = $(this).height();}

});

$columns.height(height);

这段代码会循环一组元素,并设置它们的高度为元素中的最大高。

11.css3实现p的淡入淡出效果。

?

code

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

@-webkit-keyframes fadeIn{

0%{

opacity: 0;/*初始状态*/

flter:"Alpha(Opacity=0)";

}

20%{

opacity: 0.2;

flter:"Alpha(Opacity=0.2)";

}

40%{

opacity: 0.4;

flter:"Alpha(Opacity=0.4)";

}

60%{

opacity: 0.6;

flter:"Alpha(Opacity=0.6)";

}

80%{

opacity: 0.8;

flter:"Alpha(Opacity=0.8)";

}

100%{

opacity: 1.0;

flter:"Alpha(Opacity=1.0)";

}

}

.fadeInShow{

-webkit-animation-name: fadeIn;/*动画名称*/

-webkit-animation-duration: 300ms; /*动画持续时间*/

-webkit-animation-iteration-count: 1; /*动画次数*/

-webkit-animation-delay: 0s; /*延迟时间*/

}

引入动画效果:

?

code

1

2

3

4

5

$('.my-project-selector').hover(function(){

$('#project-popover').css('display','block').addClass('fadeInShow');

},function(){

$('#project-popover').css('display','none').removeClass('fadeInShow');

});

12、Jquery遍历一组checkbox复选框,取出选中的值放在数组里

?

code

1

2

3

4

5

6

var obj = $("input[name='projectId']"),arr=[],i=0;

for(;i<obj.length;i++){

  if(obj[i].checked){

    arr.push(obj[i].value);

  }

}

13、jquery的ajax错误error方法查看状态值代码

?

code

1

2

3

4

5

6

error: function(XMLHttpRequest) {

//(canceled)==捕捉到的状态值是 “0”

if(XMLHttpRequest.status=="0"){

//屏蔽canceled状态值

}

}

14、超出部分截取字符,显示“...”(超出的文字自动+省略号)

?

code

1

2

3

4

5

6

7

8

9

10

11

12

13

14

$.fn.limit=function(){

var self = $("*[limit]");

self.each(

function(){

var objString = $.trim($(this).text());

var objLength = $.trim($(this).text()).length;

var num = $(this).attr("limit");

if(objLength > num){

$(this).attr("title",objString);

               objString = $(this).text(objString.substring(0,num) + "...");

            }

         }

   )

};

?

code

1

使用方式:<span limit="5">天空飘来五个字,那都不是事儿</span>

?

code

1

当前页面写入:

?

code

1

$("span[limit]").limit();

15、光标定位到字符最后(使用场景:input=text文本框获取焦点后,光标显示在字符最后)

?

code

1

//光标定位到字符最后

?

code

1

2

3

4

5

6

7

8

9

10

11

12

13

14

$.fn.selectRange = function(start, end) {

returnthis.each(function() {

if(this.setSelectionRange) {

this.focus();

this.setSelectionRange(start, end);

      }elseif (this.createTextRange) {

var range = this.createTextRange();

         range.collapse(true);

         range.moveEnd('character', end);

         range.moveStart('character', start);

         range.select();

      }

   });

};

16、JS判断是否为数组:

?

code

1

Object.prototype.toString.call([1,2,3]) === [object Array]   //true

相关推荐:

10个必须把握的jquery小技巧

几个比较经典常用的jQuery小技巧_jquery

开发中可能会用到的jQuery小技巧_jquery

以上是15个jQuery小技巧分享的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

夸克網盤怎麼分享到百度網盤? 夸克網盤怎麼分享到百度網盤? Mar 14, 2024 pm 04:40 PM

  夸克網盤和百度網盤都是很便利的儲存工具,不少的用戶都在詢問這兩款軟體互通嗎?夸克網盤怎麼分享到百度網盤?下面就讓本站來為用戶們來仔細的介紹一下夸克網盤的文件怎麼保存到百度網盤方法吧。夸克網盤的文件怎麼保存到百度網盤方法1、想要知道怎麼把夸克網盤的文件轉到百度網盤,首先在夸克網盤上下載需要保存的文件,然後打開百度網盤客戶端後,選擇壓縮檔案要儲存的資料夾,雙擊開啟該資料夾。  2、開啟該資料夾後,點選視窗左上角區域的「上傳」。  3、在電腦中找到需要上傳的壓縮文件,點選選

網路易雲音樂怎麼分享到微信朋友圈_網易雲音樂分享到微信朋友圈教程 網路易雲音樂怎麼分享到微信朋友圈_網易雲音樂分享到微信朋友圈教程 Mar 25, 2024 am 11:41 AM

1.首先我們進入到網易雲音樂中,然後在軟體首頁介面中,點選進入到歌曲的播放介面中。 2.然後在歌曲播放介面中,找到右上方的分享功能按鈕,如下圖紅框所示位置,點擊選擇分享的管道;在分享管道中,點擊底部的「分享至」選項,然後選擇第一個“微信朋友圈”,即可將內容分享至微信朋友圈。

百度網盤怎麼分享文件給好友 百度網盤怎麼分享文件給好友 Mar 25, 2024 pm 06:52 PM

近期,百度網盤安卓客戶端迎來了全新的8.0.0版本,這個版本不僅帶來了許多變化,還增添了許多實用功能。其中,最引人注目的便是資料夾共享功能的增強。現在,使用者可以輕鬆邀請好友加入,共同分享工作與生活中的重要文件,實現更便利的協作與分享。那麼究竟該如何分享給好友自己需要分享的文件呢,下文中本站小編就會為大家帶來詳細內容介紹,希望能幫助大家! 1)開啟百度雲APP,先點選在首頁選擇相關的資料夾,再點選介面右上角的【...】圖示;(如下圖)2)接著點選「共用成員」一欄中的【+ 】,最後在勾選所

jQuery中如何使用PUT請求方式? jQuery中如何使用PUT請求方式? Feb 28, 2024 pm 03:12 PM

jQuery中如何使用PUT請求方式?在jQuery中,發送PUT請求的方法與發送其他類型的請求類似,但需要注意一些細節和參數設定。 PUT請求通常用於更新資源,例如更新資料庫中的資料或更新伺服器上的檔案。以下是在jQuery中使用PUT請求方式的具體程式碼範例。首先,確保引入了jQuery庫文件,然後可以透過以下方式發送PUT請求:$.ajax({u

jQuery小技巧:快速修改頁面所有a標籤的文本 jQuery小技巧:快速修改頁面所有a標籤的文本 Feb 28, 2024 pm 09:06 PM

標題:jQuery小技巧:快速修改頁面所有a標籤的文字在網頁開發中,我們經常需要對頁面中的元素進行修改和操作。使用jQuery時,有時候需要一次修改頁面中所有a標籤的文字內容,這樣可以節省時間和精力。以下將介紹如何使用jQuery快速修改頁面所有a標籤的文本,同時給出具體的程式碼範例。首先,我們需要引入jQuery庫文件,確保在頁面中引入了以下程式碼:&lt

解決Discuz微信分享無法顯示的問題 解決Discuz微信分享無法顯示的問題 Mar 09, 2024 pm 03:39 PM

標題:解決Discuz微信分享無法顯示的問題,需要具體程式碼範例隨著行動網路的發展,微信成為了人們日常生活中不可或缺的一部分。在網站開發中,為了提升使用者體驗和擴大網站的曝光度,許多網站會整合微信分享功能,讓使用者能夠輕鬆分享網站的內容到朋友圈或微信群組。然而,有時在使用Discuz等開源論壇系統時,會遇到微信分享無法顯示的問題,這給使用者體驗帶來了一定的困

分享惠普印表機驅動的兩種安裝方法 分享惠普印表機驅動的兩種安裝方法 Mar 13, 2024 pm 05:16 PM

  惠普印表機是許多辦公室內必備的列印設備,在電腦上安裝印表機驅動,可以完美解決印表機無法連線等等問題。那麼惠普印表機驅動程式要怎麼安裝?下面小編就跟大家介紹兩個惠普印表機驅動程式安裝方法。  第一種方法:官網下載驅動  1、在搜尋引擎中搜尋惠普中國官網,在支援一欄中,選擇【軟體與驅動程式】。  2、選擇【印表機】分類,在搜尋框中輸入你的印表機型號,點選【提交】,即可查找到你的印表機驅動程式。  3、根據你電腦的系統選擇對應的印表機,win10即選擇win10系統的驅動程式。  4、下載成功後,在資料夾中找到

使用jQuery修改所有a標籤的文字內容 使用jQuery修改所有a標籤的文字內容 Feb 28, 2024 pm 05:42 PM

標題:使用jQuery修改所有a標籤的文字內容jQuery是一款受歡迎的JavaScript庫,被廣泛用於處理DOM操作。在網頁開發中,經常會遇到需要修改頁面上連結標籤(a標籤)的文字內容的需求。本文將介紹如何使用jQuery來實現這個目標,並提供具體的程式碼範例。首先,我們需要在頁面中引入jQuery庫。在HTML檔案中加入以下程式碼:

See all articles