首先給大家說下組合框和列表框的區別:組合框包括列表框和文字框的功能 文字框:只能輸入資料 列表框:只能選擇資料 組合框:既能輸入資料,又能選擇``應用背景:在頁面中有兩個列表框,需要把其中一個列表框的元素移動到另一個列表框 。
在工作中經常會頻繁使用一些方法、或做類型判斷、資料轉換等,為了方便,將一些功能封裝成函數整理成工具集lao-utils使用Node.jsnpm install lao-utils --saveAMD/CMD、瀏覽器環境引入dist目錄下源碼檔案函數uuid() 產生一個uuid串(偽guid)is(x,y) 比較字元x和字元y是否相等eg: 特殊例子:laoUtils.is(-0,+0); //false,laoUtils.is(NaN,NaN);
一個網頁內容一多, 就會分屏顯示資料, 如果屏目很多, 使用者訪問的資料已經到了頁面的底部, 這時候返回到頂部也是需要一點時間. 這樣對使用者體驗來說, 可能就稍微遜了一點. 所以頁面資料多的網頁, 現在都會用一個"返回頂部"按鈕來快速跳轉到網頁的頂部.那現在我們就來實現這麼一個功能.這個頁面我們就不寫什麼資料, 直接就加入一個a標籤來作為返回頂部的按鈕, 並給他一個class名稱:top.<a href="#"
本文介紹了map給我們的js編程帶來的好處及便利:1.Map能幹什麼map可以實現for迴圈的功能:<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <script> var arr = ['val1', 'val2', 'val3'];
在很多需要搜尋的網站, 都會有一個自動完成的搜尋方塊. 方便使用者尋找他們想要的搜尋字詞. 協助使用者快速找到自己想要的結果. 這種方式是比較友好的. 所以是比較提倡使用的.先給大家展示下效果圖: 實現這個功能需要服務端配合。用戶端通過指令碼來展示從服務端取得的資料。 先看用戶端的HTML:代碼如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
筆試面試經常涉及各種演算法,本文簡要介紹常用的一些演算法,並用JavaScript實現。1、插入排序1)演算法簡介插入排序(Insertion-Sort)的演算法描述是一種簡單直觀的排序演算法。它的工作原理是通過構建有序序列,對於未排序資料,在已排序序列中從後向前掃描,找到相應位置並插入。插入排序在實現上,通常採用in-place排序(即只需用到O(1)的額外空間的排序),因而在從後向前掃描過程中,需要反覆把已排序元素逐步向後挪位,為最新元素提供插入空間。2)演算法描述和實現一般來說,插入排序都
廢話不多說了,主要通過以下七個方面給大家總結了時間處理相關知識。1.擷取目前時間function getNowTime() {return new Date();}2.時間與天數相加function getTimeAddDays(time, days) {return new Date(time.getTime() + days * 24 * 60 * 60 * 1000);}3.擷取並格式化日期:年-月-日function getFormatDate(time) {return
javascript中正則匹配有3個方法,match,exec,test。這些方法都跟字串和RegExp對象有關,但使用情境不一樣,容易混淆。match是字串的一個方法,接收一個RegExp對象做為參數,其他的是RegExp對象的方法,接收一個字串參數。var str = 'abcdef12ab34cd56ef';var patt = new RegExp('ab'); //主意是非全域匹配var ret_test =
一、原廠模式概念原廠模式定義一個用於建立對象的介面,這個介面由子類決定執行個體化哪一個類。該模式使一個類的執行個體化延遲到了子類。而子類可以重寫介面方法以便建立的時候指定自己的物件類型(抽象工廠)。這個模式十分有用,尤其是建立對象的流程賦值的時候,比如依賴於很多設定檔案等。並且,你會經常在程式裡看到Factory
一、建造者模式模式概念建造者模式可以將一個複雜的對象的構建與其表示相分離,使得同樣的構建過程可以建立不同的表示。也就是說如果我們用了建造者模式,那麼使用者就需要指定需要建造的類型就可以得到它們,而具體建造的過程和細節就不需要知道了。建造者模式實際就是一個指揮者,一個建造者,一個使用指揮者調用具體建造者工作得出結果的客戶。建造者模式主要用於“分步驟構建一個複雜的對象”,在這其中“分步驟”是一個穩定的演算法,而複雜物件的各個部分則經常變化。通俗的說:就是一個白富美需要建一個別墅,然後直接找包工頭,包
一、代理模式概念說明:顧名思義就是用一個類來代替另一個類來執行方法功能,這個模式跟裝飾模式有點相似,不一樣的是,代理模式是代替客戶初始化被代理對象類,而裝飾模式採用介面或初裝飾者參數引用的方式來執行的。解釋:房屋中介,可以代理協助賣家把房子賣給買家,這中間賣家說要賣的價錢就可以了,買家也可以提出自己要買的房型,中介可以幫忙處理中間環節。最後達成買賣。中介可以同時代理很多房屋買賣,並且可以代理租房事宜。二、代理模式的作用和注意事項模式作用:1、遠程代理(一個對象將不同空間的對象進行局部
表單驗證為終端使用者檢測無效的資料並標記這些錯誤,是一種使用者體驗的最佳化。下面展現瀏覽器內建的驗證功能也可在移動端中查看:HTML部分:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,
在JavaScript中,想要判斷某個對象值屬於哪種內建類型,最靠譜的做法就是通過Object.prototype.toString方法.var arr = [];console.log(Object.prototype.toString.call(arr)) //"[object Array]"本文要講的就是,toString方法是如何做到這一點的,原理是什麼.ECMAScript 3在ES3中,Object.prototype.toString方法的規範如下:15.2.4.2 Object.
1、什麼是閉包閉包,官方對閉包的解釋是:一個擁有許多變數和綁定了這些變數的環境的運算式(通常是一個函數),因而這些變數也是該運算式的一部分。簡單的說,Javascript允許使用內建函式---即函數定義和函數運算式位於另一個函數的函數體內。而且,這些內建函式可以訪問它們所在的外部函數中聲明的所有局部變數、參數和聲明的其他內建函式。當其中一個這樣的內建函式在包含它們的外部函數之外被調用時,就會形成閉包。閉包的特點1 函數嵌套函數2 函數內部可以引用外部的參數和變數3
類型轉換可以分為隱式轉換和顯式轉換,所謂隱式轉換即程式在運行時進行的自動轉換,顯式轉換則是人為的對類型進行強制轉換。Javascript的變數是鬆散類型的,它可以儲存Javascript支援的任何資料類型,其變數的類型可以在運行時被動態改變。請看示例:var n = 10;n = "hello CSSer!";n = {};上面的樣本中,首先聲明n變數並初始化其值為10(整數類型),接著將字串“hello
預先載入圖片是提高使用者體驗的一個很好方法。圖片積極式載入到瀏覽器中,訪問者便可順利地在你的網站上衝浪,並享受到極快的載入速度。這對圖片畫廊及圖片佔據很大比例的網站來說十分有利,它保證了圖片快速、無縫地發布,也可協助使用者在瀏覽你網站內容時獲得更好的使用者體驗。本文將分享三個不同的預先載入技術,來增強網站的效能與可用性。方法一:用CSS和JavaScript實現預先載入實現預先載入圖片有很多方法,包括使用CSS、JavaScript及兩者的各種組合。這些技術可根據不同設計情境設計出相應的解決方案
最近項目使用到了“懶載入”,現在更新一般,因為平時主要使移動端的開發所以庫檔案使用的是zepto.js 。當然也可以和jQuery 通用。代碼如下:/** * Created by zhiqiang on 2015/10/14. * hpuhouzhiqiang@gmail.com * 圖片的懶載入 **/function loadImgLazy(node) { var lazyNode = $('[node-type=imglazy]', node), mobileHeight,
本文執行個體講述了JavaScript中添加隨捲軸滾動表單的方法。分享給大家供大家參考,具體如下:兩種實現方式:第一種:<script type=/"text/javascript/">function scrollImg(){ var posX,posY; if (window.innerHeight) { posX = window.pageXOffset; posY = window.pageYOffset; } else if
一、JavaScript 引擎是單線程的可以從下面的代碼中看到,第一個用setTimeout中的代碼是死迴圈,由於是單線程,下面的兩個定時器就沒機會執行了。<script type="text/javascript"> setTimeout( function(){ while(true){} } , 100); setTimeout( function(){ alert('你好!setTimeout'); } , 200); setInterval( function(){
朋友們大家好,今天我們就接著前面的內容講,前面我們已經講到了繼承,今天我們就來講OOP目前最後一個體現,那就是多態,因為javascript語言的靈活性,所以我們是沒有辦法使用介面的,所以這也給js程式帶來了一定的困惑,大家也不用太著急關心這個問題,因為這些到後面ECMAScript後面的版本會給我們解決這些問題的,又扯遠了,還是回到正題,OOP的多態,前面我們已經可以很明白的理解繼承是什麼樣子的了,就是先聲明一個父類,然後,我們可以寫很多的子類來繼承父類的屬性和方法,這些我們就可以用最少的