国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Javascript小技能總結(推薦)

2019-11-20 09:49:32
字體:
來源:轉載
供稿:網友

廢話不多說,直接上干貨。。

具體代碼如下所示:

/*@@截取字符串長度,漢字算2個字符@@return [string]+'...'*/var subString = function(str, len) {var newLength = 0;var newStr = "";var chineseRegex = /[^/x00-/xff]/g;var singleChar = "";var strLength = str.replace(chineseRegex, "**").length;for (var i = 0; i < strLength; i++) {singleChar = str.charAt(i).toString();if (singleChar.match(chineseRegex) != null) {newLength += 2;} else {newLength++;}if (newLength > len) {break;}newStr += singleChar;}if (strLength > len) {newStr += "...";}return newStr;}--------------------------------------------------------------------------------/*@@對可見元素 進行隱藏@@:visible 判斷是否為課件元素*/function close_window(){var flag=false;$(".dialog_con").each(function(){if($(this).is(":visible")){flag=true;}})if(flag==true){$(".dialog_con").hide();$(".dialogbox").hide(); }else{ window.android.callAndroidFinish();}} --------------------------------------------------------------------------------/*@@對持有不同設備的 設備 引用不同的樣式@@ if判斷是否 某種設備*/<script type = "text/javascript" >if (/(iPad|iPod|iOS)/i.test(navigator.userAgent)) { setActiveStyleSheet("pad.css"); } else if (/(Android)/i.test(navigator.userAgent)) {setActiveStyleSheet("common.css"); }else if (/(iPhone6)/i.test(navigator.userAgent)) {setActiveStyleSheet("iphone6.css"); }function setActiveStyleSheet(filename){document.write("<link href="+filename+" rel=stylesheet>");}</script>--------------------------------------------------------------------------------/*@@回到頂部動畫@@*/$('a.top').click(function (e) {e.preventDefault();$(document.body).animate({scrollTop: 0}, 800);});--------------------------------------------------------------------------------/*@@檢查圖片是否加載完畢@@有時你或許要檢查圖片是否完全加載完畢,才能在腳本中進行后續操作:@@你也可以通過把 img 標簽替換成 ID 或 class,來檢查特定圖片是否加載完成。*/$('img').load(function () {console.log('image load successful');});--------------------------------------------------------------------------------/*@@動修復損壞的圖片@@如果你發現自己網站的圖片鏈接掛了,一個一個替換很麻煩。這段簡單的代碼可以幫上大忙;@@即使你沒有任何損壞的鏈接,增加這段代碼也不會有什么影響。*/$('img').on('error', function () {$(this).prop('src', 'img/broken.png');});--------------------------------------------------------------------------------/*@@Hover 上的 Class 切換@@如果用戶的鼠標懸停在頁面上某個可點擊元素時,你想要改變這個元素的視覺表現。可以使用下面這段代碼,當用戶懸停時,為該元素增加一個 class;當用戶鼠標離開后移除這個 class:*/$('.btn').hover(function () {$(this).addClass('hover');}, function () {$(this).removeClass('hover');});-----------或---------$('.btn').hover(function () {$(this).toggleClass('hover');});--------------------------------------------------------------------------------/*@@禁用 input 字段@@有時你也許想讓表單的提交按鈕或其文本輸入框變得不可用,直到用戶執行了一個特定行為(例如確認 “我已經閱讀該條款” 的復選框)。增加 disabled attribute 到你的 input,就可以實現自己想要的效果*/$('input[type="submit"]').prop('disabled', true);$('input[type="submit"]').prop('disabled', false);--------------------------------------------------------------------------------/*@@停止鏈接加載@@有時你不想鏈接跳轉到某個頁面或重加載該頁面,而希望可以做一些其他事情,比如觸發其他腳本。下面的代碼是禁止默認行為的一個小訣竅*/$('a.no-link').click(function (e) {e.preventDefault();});--------------------------------------------------------------------------------/*@@淡入淡出/滑動開關@@淡入淡出與滑動是我們經常使用 jQuery 做成的動畫效果。或許你只是想在用戶點擊某物時展現一個元素,使用 fadeIn 和 slideDown 都很棒。但如果想讓該元素在第一次點擊時顯現,第二次點擊時消失,下面的代碼可以很好地完成*/// Fade$('.btn').click(function () {$('.element').fadeToggle('slow');});// Toggle$('.btn').click(function () {$('.element').slideToggle('slow');});--------------------------------------------------------------------------------/*@@簡單的手風琴效果@@這是一個快速實現手風琴效果的簡單方法*/// 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;});--------------------------------------------------------------------------------/*@@使兩個 Div 高度一樣@@有時你也許想讓兩個 div 擁有同樣高度,不管它們里面有什么內容:*/$('.div').css('min-height', $('.main-div').height());該例設置了 min-height,意味著它可以比主要 div 更大,但永遠不能更小。但有一個更加靈活的方法是遍歷一組元素的設置,然后將高度設為元素中的最高值:var $columns = $('.column');var height = 0;$columns.each(function () {if ($(this).height() > height) {height = $(this).height();}});$columns.height(height);如果你想讓所有列都有相同高度:var $rows = $('.same-height-columns');$rows.each(function () {$(this).find('.column').height($(this).height());}); --------------------------------------------------------------------------------/*@@在新標簽/窗口打開站外鏈接@@在一個新標簽或者新窗口中打開外置鏈接,并確保站內鏈接會在相同的標簽或窗口中打開:*/$('a[href^="http"]').attr('target', '_blank');$('a[href^="http://"]').attr('target', '_blank');$('a[href^="' + window.location.origin + '"]').attr('target', '_self');--------------------------------------------------------------------------------/*@@通過文本找到元素@@通過使用 jQuery 中的 contains() 選擇器,你可以找到某個元素中的文本。如果文本不存在,該元素將會隱藏:*/var search = $('#search').val();$('div:not(:contains("' + search + '"))').hide();--------------------------------------------------------------------------------/*@@視覺改變觸發@@當用戶焦點在另外一個標簽上,或重新回到標簽時,觸發 JavaScript:*/$(document).on('visibilitychange', function (e) {if (e.target.visibilityState === "visible") {console.log('Tab is now in view!');} else if (e.target.visibilityState === "hidden") {console.log('Tab is now hidden!');}});--------------------------------------------------------------------------------/*@@Ajax 調用的錯誤處理@@當某次 Ajax 調用返回 404 或 500 錯誤,就會執行錯誤處理。但如果沒有定義該處理,其他 jQuery 代碼或許會停止工作。可以通過下面這段代碼定義一個全局 Ajax 錯誤處理*/$(document).ajaxError(function (e, xhr, settings, error) {console.log(error);});--------------------------------------------------------------------------------/*@@插件鏈式調用@@jQuery 支持鏈式調用插件,以減緩反復查詢 DOM,并創建多個 jQuery 對象。看下面示例代碼*/$('#elem').show();$('#elem').html('bla');$('#elem').otherStuff();上面這段代碼,可以通過鏈式操作大大改進:$('#elem').show().html('bla').otherStuff();還有另外一種方法,把元素緩存在變量中(前綴是 $ ):var $elem = $('#elem');$elem.hide();$elem.html('bla');$elem.otherStuff();--------------------------------------------------------------------------------/*@@Jq 遍歷 全選 全不選 反選@@*///全選 全不選$('#checkAll').click(function () {//判斷是否被選中var bischecked = $('#checkAll').is(':checked');var fruit = $('input[name="check"]');bischecked ? fruit.attr('checked', true) : fruit.attr('checked', false);});//反選 遍歷checkbox 如果當前為選中 就設置為 不選中 反之相同$("#tabVouchList tr").each(function () {if ($("td:eq(0) input[name='check']", $(this)).is(':checked')) {$(this).attr('checked', false);} else {$(this).attr('checked', true);}});

以上所述是小編給大家提供的js小技巧總結,希望對大家有所幫助!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伊宁市| 宜宾市| 博客| 峨眉山市| 兰考县| 神池县| 松潘县| 海林市| 五原县| 漯河市| 大荔县| 申扎县| 彩票| 沙田区| 朝阳县| 洛扎县| 北海市| 柳州市| 綦江县| 嫩江县| 手游| 西安市| 西藏| 淮南市| 麻江县| 克山县| 衡山县| 富平县| 山丹县| 巴林右旗| 博客| 景宁| 罗田县| 山东省| 游戏| 南昌县| 犍为县| 晋州市| 泰顺县| 丹寨县| 屯昌县|