原创 canvas講解進階篇五

進階三篇我們講過了剪裁縮放 所用到的canvas方法也就是drawImage,我們也知道了drawImage方法有三套用法可以直接將圖像放置於繪圖環境、可以將圖像縮放放置於繪圖環境也可以將圖像剪裁後放置繪圖環境。 利用我們講過的圖像剪裁縮

原创 canvas講解進階篇二

上篇我們學過過canvas的基礎圖形繪製,包括線段矩形以及圓弧。看上去這三個組合能完成很多東西(畢竟不是ps),但是實際canvas功能很強大的,可以實現ps中大部分功能,甚至在js控制下完成flash的東東。 這一篇我們講解的東西不是爲

原创 iframe及其跨域通訊方式集合

iframe通訊分爲兩種情況,一個是同域下通訊,另一個是跨域通信 ================================================================ 先看看同域下父子頁面通訊: 我們寫兩個頁面

原创 js瀑布流實現思路

百度圖片以及qq空間等還有一些像蘑菇街 發現啦之類的網站都用的是瀑布流佈局模式,這種模式優點就是合理動態佈局,使得圖片頁面表現有很強的視覺感染力,可以使得客戶快速發現自己喜歡的圖片。 並且大量圖片處理時候減少瀏覽器處理圖片消耗;在操作效果

原创 javascript深度拷貝分析

先來介紹一下深拷貝是如何而來的。 深拷貝是對比與淺拷貝而言的,我們都知道js中分爲基本類型以及引用類型,基本類型都是保存在棧裏面的,而引用類型僅僅是把地址保存在棧裏面,而值是存在於堆裏面,淺拷貝僅僅是拷貝棧裏面東西; 也就是說對於基本類型

原创 jquery Deferred異步回調源碼解析應用

jquery deferred在jquery1.6+版本中開始出現,其定義致力於解決事件處理異步回調過程。由於jquery之前在解決異步回調時候一直是個短板,deferred的出現無疑給jquery錦上添花! 先來看一下deferred的

原创 js預編譯解析執行過程分析

javascript編譯解析執行順序分析 先來看幾道題,大家先猜一下alert的結果 1. var a=2; function show(){window.setTimeout(function(){a=22},1000)var a=4;

原创 setInertval間隔時間問題

假設我們有一個滾動條長爲50px,我們想要設置在兩秒內滾動到終點。 <div id='slide'> <div id='move'></div> </div> 一般情況下 我們想要move模塊在兩秒內從slide最左邊滑動到最右邊,相當於

原创 淘寶組合查詢算法

前端有多少事情可以做,能做到多好。一直在關注各大公司UED方面的知識,他們也代表了前端的力量,而且也很樂意和大家分享,把應用到項目的知識歸類整理,再寫成博客搬到網上來,充實這前端的內容,也是爲想追尋和學習的人提供了場所,爲想接觸到一些前

原创 js代理監聽動態添加元素事件(類似jquery的delegate事件)

很多時候我們需要監聽動態添加的元素事件。 舉個例子: 頁面中有一個div,div中有一個button以及一個table,我們需要在點擊button的時候相應的table行進行排序,而根據特定需求ajax返回數據中的table值是變化的,

原创 js實例化以及constructor探究

js實例化以及constructor探究 先來一個構造函數: function Person(name){     this.name=name; } 對其添加原型鏈: Person.prototype={getName:function

原创 寫給前端的http詳解

昨天工作時候在請求服務器時間時候遇到一個請求緩存問題。就這個問題細究的話 應該是一篇關於http緩存的講解,不過在講解緩存之前,還是要鞏固一下http請求, 特整理如下:雖然不是特別細緻,還是挺實用的,希望對大家日後有所幫助。如有見解,歡

原创 類之間降低耦合javaScript

這篇文章其實是作爲js自定義事件的補充,在那篇文章中我們說到了自定義事件對於避免類的污染作用,這篇主要講講自定義事件在類之間相互調用的解耦作用: 還是舉個例子吧: 假設我們需要實現一個功能,點擊登錄,登錄成功後,頁面一部分出現一個歡迎您的

原创 js頁面之間傳參方式集合

總有一款適合你。。。 如果想了解iframe有關傳值請參看之前文章:iframe跨不跨域通訊方式集合; 這篇主要是說說其他幾種頁面之間傳值的實現: 實現一:url傳值 這種傳值方式就是通過在url後面增加參數,然後打開該url後頁面獲取參

原创 真正的快速排序算法javascript實現

原理分析: 其基本思想是選取其中一個值,經過一輪排序,將小於此值的數據放置其左(右)邊,大於此值的數據放置於其右(左)邊, 這樣就完成一次快速排序,進而通過遞歸對左右兩側分別進行快速排序,直到排序組內都剩餘1項爲止。 還是以數組[1,4,