javascript 瀑布流

http://www.hemin.cn/test/現在圖片網與商城流行一種叫“瀑布流”的布局,我們公司也不小心得了“流行性感冒”,要搞這個。於是我就寫了一個,現在再用我的架構mass重寫一下,發布出來,順便宣傳一下我的架構。瀑布流其實沒什麼東西,就是列布局與無限拖的結合。由於要支援IE6就沒有CSS3,直接對列進行絕對位置。列就是一個DIV。然後就是列中每個板塊的添加問題,我管它為磚頭。每添加一塊磚頭前,比較一下哪列最短,就往哪裡塞。最後就是無限拖,太easy了。加之,我的架構對樣式,事件等設定

javascript suggest效果

像百度與google,當我們往搜尋方塊輸入東西時就會出現一排列表提示使用者有什麼熱門或適合的候選詞,這種效果就叫suggest。本文將一步步教你如何設計它。首先,用到的架構當然是我的架構mass

JavaScript等性運算子之等號和非等號

判斷兩個變數是否相等是程式設計中非常重要的運算。在處理原始值時,這種運算相當簡單,但設計對象,任何就稍微有點複雜。JavaScript提供了兩套運算子處理這個問題,等號和非等號使用者處理原始值;全等號和非全等號用於處理對象。    在JavaScript中,等號由雙等號(==)表示,若且唯若兩個運算數相等時,它返回true。非等號是驚嘆號加等號(!=),若且唯若兩個運算數不相等時,它返回true。為確定兩個運算數是否相等,這兩個運算子都會進行類型轉換。 執行類型轉換的基本規則如下:   

javascript事件系統的發展史2

綜觀一個系統的發展,無非是發現一個問題就把它獨立出來解決掉,因此它的所有模組(或者分支)其實針對獨立的問題,這樣我們對這些問題若有什麼更好的解決方案,替換相應的模組便是,要不代碼混雜在一起沒法看了。上一部分就提到了,attachEvent的事件列隊出了些問題,我們要手動構建列隊了。所謂列隊就是有先有後的問題,因此DE大神搞了一個全域的uuid,分配給每個回呼函數。但要注意,每個回調所針對的事件來源與事件類型,因此這不可能一個數組搞定。看:el.attachEvent("onmouseenter"

javascript 替換節點

這可能是最被忽略的文檔操作之一,這都怪微軟的不作為與W3C的無能,搞到大家只知道appendChild與insertBefore。後來爆出appendChild在IE有bug,好了,以後只用insertBefore了。現在jQuery興起後,無數趕鴨子上架的javascript素人連基本API也不學了,直接上手append, preppend, before, after與replaceWith,這比較悲哀……好了,我們先來看w3c的替換節點方法吧。replacedNode =

javascript滾輪事件總結

滾輪事件是一個非常有用的事件,在翻頁或放大時,通常都用到它。但它在各瀏覽器中實現相容是相對比較困難的,號稱最標準的FF,用了一個私人實現DOMMouseScroll,而使用mousewheel的其他瀏覽器或多或少有點bug。我們先看各瀏覽器對它的支援程度吧。

關於javascript模組載入的思索

最近一直為此頭痛,姑且把我能想到的東西都寫出來吧。由於不是簡單把頁面上手寫的script轉為javascript添加,我們需要考慮的東西主要有兩個:載入的順序,載入前後指令碼的運作。先說第一個,假如我們已有一載入機制了,要載入一個新模組,當然新模組是在另一個JS檔案中。這時,我們可以描述為:loader --->

javascript事件系統的發展史

一個完整的事件系統,通常存在以下三個角色:事件對象,用於儲存事件的狀態。事件來源對象,當前事件在操作的對象,如元素節點,文檔對象,window對象,XMLHttpRequest對象等。事件監聽器,當一個事件來源產生一個事件對象時,它會調用相應的回呼函數進行操作。在IE中,事件對象恒為全域屬性window.event的分身。在w3c沒有把其DOM 模型引入網頁時,netscape與微軟已經逼不及待到快他們熟悉的語言中把相關的DOM模型搞進來了。這其實也怪javascript之父忙於把抄襲其他語言,

一個javascript架構應有的功能

一個人學許多東西,不等於他會很多東西,學了也會忘的,學了也不等於會運用,這時我們應該整一個很複雜的東西出來,那麼就知道自己到底去到什麼程度。基於這樣的理由,我開始搞架構了,像我群裡面的許多人那樣,因此請不要感到驚奇或敬佩什麼的。我們總是免不了造輪子,前人走過路,我們也不得不走,只不過懷著不同的目的與心情。我也沒有自大到想去挑戰這個挑戰那個,僅僅是想自食其力,或許其最好的結果是拿來與友人切磋切磋。於是掂量一下,總結如下,如果有好心人能迷津指點最好不過。首先要模組化。像jQuery那樣內部看起來亂成

javascriptプログラマのレベル10

週末料理をしていて足を切ってしまいました。agoです。以前Perlは書いていたんですが、その頃以下の記事を読んで非常に感銘を受けました。Perlプログラマのレベル10 - Perlプログラミング救命病棟より - naoyaのはてなダイアリー當時あまりコミュニティとのつきあいがなかったので、「自分のスキルの絶対位置」、「次のレベルへ行くために必要なもの」を知ることで非常に安心感を感じた記憶があります。いま確認したところ、「JavaScriptプログラマのレベル10」はないようなので書いてみました。

javascript 測試載入器 abut v2

綜合眾人的意見,此版本做了許多改進,如對注釋抽取的最佳化,增加對script標籤的支援,即時性的測試等等。// dom.abut v2 (annotations-based unit testing by 司徒正美)// http://www.cnblogs.com/rubylouvre/archive/2010/11/08/1868638.html(function(){ //ecma262新擴充 if(!Object.keys){ var _dontEnum =

javascript 模板系統 ejs v2

本版本主要是對原模板系統進行提速,去掉消耗巨大的輔助函數。本來想用它與John Resig的 Micro-Templating比較一下速度,發現對方無法處理複雜的模板,殘念。 //司徒正美 javascript template - http://www.cnblogs.com/rubylouvre/ - MIT Licensed (function () { if(!String.prototype.trim){

javascript 編程規範

為公司起草的javascript編程規範,參考了網上的許多資料,尤其是google的規範。現在放出來,希望能拋磚引玉,大家多提寶貴意見。本規範是針對javascript函數式編程風格與公司嚴重依賴於jQuery進行編碼的現實制定出來。禁止使用eval,with與caller(ecma262 v5 的use strict要求)。eval只允許在加密時機器產生。聲明變數必須加上 var

javascript模板系統 ejs v3

本版本增添了局部模板功能,並且允許主模板調用局部模板,局部模組調用局部模組,並去掉onsite變數,不再提供解析成畢的文檔片段給使用者。它使用雙重緩衝,一是緩衝那些通過同步請求得到的文本而成的數組,一是整體解析完畢得到的模板函數。模板函數是通過數組元素拼湊動成解析而成的,這是大大提高了效率。不過由於新功能的加入,雖然動用了新的構築演算法也比不上v2的構築速度了……有人說不要使用<%與%>做界定符,這個問題我在v1版本已經提出過了,這些都是可以自訂的。本文的例子將示範一下如何使用Dja

method_missing in JavaScript(SpiderMonkey)

   ruby的method_missing魔法在JavaScript中是否有類似等價物?答案是SpiderMonkey的__noSuchMethod__ 方法。示範如下(請firebug大神出馬): var obj = {};obj.__noSuchMethod__ = function(/*String*/methodName,/*Array*/arrArguments){ console.log(methodName, arrArguments);}obj.test(1,2);//

javascript 模板系統 ejs v7

文章目錄 javascript模板系統 ejs 第七版!更新日誌多重參數變形化,四種傳參方式 javascript模板系統 ejs 第七版!本版本只要是對其易用性進一些修改,去掉兩個冗餘的功能。我發現我的模組系統天生就能實現模組套嵌,因此有關子模板匯入的兩個操作符去掉。對參數進行多態化,可簡單地傳入一個字串來指定目標元素的選取器或目標檔案的URL(通過url(http://)來區分)與一個參數對象,也可以像EXT那樣傳入一個雜湊。

javascript 讓執行個體的方法都非同步執行

var C = function(){ this._methodList = [];}C.prototype.fire = function(obj){ var instance = this; while(obj = this._methodList.shift()){ if(isFinite(obj.fn)){ var time = new Date; instance.timeoutID = setTimeout(

區分javascript中的undefined,null,””,0,false和NaN

其實標題裡面我已經列出了JavaScript中所有的"空值"和"假值",除了boolean值本身就是true和false這兩種情況外,其它資料類型的"空值"主要是undefined和defined這兩大類。這些空值的類型分別是:  (typeof undefined) == 'undefined' (typeof null) == 'object' (typeof "") == 'string' (typeof 0) == 'number' (typeof false) == 'boolean'

JavaScript中處理日期的一些函數和方法

1。解決2000問題function y2k(number) { return (number < 1000) ? number + 1900 : number; }2。檢查日期是否合法// 當輸入參數為isDate(dd,mm,ccyy)時,表示要檢查年,月,日// 當輸入參數為isDate(dd,mm) 表示預設年為當前年// 當輸入參數為isDate(dd)    表示預設年,月為當前年月// 注意輸入月份保證在1-12以內。function isDate

JavaScript驗證表單大全

<script>/* 用途:校正ip地址的格式 輸入:strIP:ip地址 返回:如果通過驗證返回true,否則返回false;  */ function isIP(strIP) { if (isNull(strIP)) return false; var re=/^(\d+)\.(\d+)\.(\d+)\.(\d+)$/g //匹配IP地址的Regex if(re.test(strIP)) { if( RegExp.$1 <256 &&

總頁數: 3271 1 .... 1578 1579 1580 1581 1582 .... 3271 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.