Time of Update: 2018-12-05
今天看到一段程式中有用到lambda函數,其實很簡單 key=lambda (l,s):s猜我犯了個什麼錯誤?自己把(l,s)理解成lambda的2個形參了,是蠻容易這樣理解的哈,畢竟以前函數都是 def f(1,s):這樣的然後自己調用時老提示錯誤,參數錯誤,於是就看了下官方文檔才知道lmbda參數其實是這樣的lambda x,y:x+yx,y是它的2個形參,所以這裡 lambda
Time of Update: 2018-12-05
上次的js模版引擎在ie6,7下總是發生錯誤,今天用ie8的調試工具終於找到了錯誤的根源所在,原來是自己多寫了一個逗號,真囧!這次的模版引擎基本沒啥大問題了,全面相容ie6,7,8 ff,opera各大主流瀏覽器,並且修複了特殊標籤}}}的bug,ok,直接上demo吧。 <div>hust_小C的模版引擎<h2>對象遍曆</h2> {{ for(var i in data.a){ }} <li>{{=i}}:{{
Time of Update: 2018-12-05
在網上找了很多dom操作的例子,感覺不全而且淩亂。自己平時可能也會經常遇到所以總結如下:1,dom元素的建立2,dom元素的插入3,dom元素替換4,dom元素的刪除 首先頁面上有這麼些簡單的dom元素 <div id="wrap"> <div id="a">aaaaaaaa</div> <div id="b">bbbbbbbb</div> <div
Time of Update: 2018-12-05
沒事乾的時候把凡客的首頁扣下來研究了一下,在凡客的js代碼裡發現了一種跨域擷取cookies的方法,基本原理是凡客的server端提供一個頁面輸出cookies字串,client端採用jsonp的格式擷取該cookies字串。下面一段是凡客中一個跨域擷取cookies的函數function setWelcome() { $.getScript("http://my.vancl.com/Usercenter/GetUserName.ashx", function() { if
Time of Update: 2018-12-05
我們要做的是一個可以包含促銷活動的購物車,所以比較其他簡單的購物車,會稍微複雜一點。(用的是PHP的zend framework架構)首先,購物車的資料庫設計:1. id 2. goods_id 商品ID3. session_id 購物車ID4. goods_sn 商品編碼5. goods_name 商品名稱6. shop_price 商品商城售價7. goods_price
Time of Update: 2018-12-05
這次的模板引擎主要在演算法方面做了些改進,主要借鑒正美的思路,https://github.com/RubyLouvre/mass-Framework/issues/22傳統的字串模組都要處理轉義的問題,但我這新方法通過傳參手段消滅了這步驟核心原理function a(){ var b = ["1,2,3"] return Function("b", "function test(){}; return function(data){ test(); return b }
Time of Update: 2018-12-05
這個拾色器在網上找的但不完善,存在一些相容問題和功能缺陷,自己只做了一些修複,放上來以便日後尋找<!DOCTYPE><html xmlns="http://www.w3.org/1999/xhtml"><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="X-UA-Compatible" content=
Time of Update: 2018-12-05
昨天去面試花了一下午的時間,被問了很多問題,結果是達不到我的待遇要求而告終。期間那個技術總監出了一道題說是考考邏輯,題目是這樣的:有九個外觀看起來是一摸一樣的小球,但是其中有一個品質比其他的小球大,現給你一架天平如何找出那個品質大的小球?應該算是比較簡單的,但當時卻沒能想出比較好的解決辦法而是想到最笨的那種:在天平的兩端各放4個小球,如果平衡則剩餘的那個就是品質大的那個,如果不平衡則把剩下的那個區替換天平上的小球,逐一替換,這樣可能就要替換8次才能找出。知道這個答案肯定令對方不滿意,可惜他也沒給
Time of Update: 2018-12-05
前面文章裡寫過一個彈出層對話方塊,但ie6下有bug,根本沒有實現position:fixed的效果,當時沒有真實ie6環境,測試疏忽,匆匆放到部落格上,還讓一些讀者看到甚至使用,在這裡表示萬分抱歉啊!這次還是利用原來代碼的組織圖重新加強了功能,目前來說還有個小問題,ie6下自訂彈出層會出現無法遮住select的情況,目前還沒加入到組件裡,可以自己在自訂的div裡面加上ifame來遮罩,組件內建的彈出層可以遮住。大家試試就知道了,當然問題肯定不少,我認為比較重要的,暫時列出來,以後修複。下面是代
Time of Update: 2018-12-05
常見的綁定事件有直接綁定在頁面元素中比如<div id="wrap" onclick="a();"></div>,這個換種方法也就是分離出來寫在js代碼裡如document.getElementById('wrap').onclick = function(){a();},此時如果需要綁定多個方法則直接寫在一起即可如document.getElementById('wrap').onclick = function(){a();b();}或<div
Time of Update: 2018-12-05
前一篇文章講的是購物車的設計,這篇來講下關於促銷的。支援的促銷類似於,打折,買幾贈幾,滿多少錢送禮品等等。用到策略模式。 大體的思想,每一個促銷要建立一個促銷類,有專門的開關來控制是否生效。用商品裡面的促銷識別碼來判斷具體調用哪一個促銷執行個體。 首先,在添加商品的時候,分兩步,第一步是添加狀態,第二步是把購物車內的商品顯示這個狀態。一,添加步驟幾個重要的點:1,添加商品之前,遍曆所有的促銷互斥條件。例如,某一款商品不可以和另一個商品同時在一個購物車內;或者某個使用者權限,不可以購買特定的一件商
Time of Update: 2018-12-05
JSON對象的序列化與還原序列化相信大家都很熟悉了。基本的api是JSON.parse與JSON.stringify.var json={ uiModule:'http://www.a.com', login:'true', mainSubjectId:3004, happydays:100, happyhours:1, userCount :200, itemCount:1000000, type:'all', mainSubjectId:
Time of Update: 2018-12-05
最近做de一個項目,整個頁面的資料更新要純ajax實現,沒辦法,連分頁都得由我來寫了,基本思路還是像後台那樣實現分頁,後台實現分頁其實也就是用背景程式來處理那段分頁的模版,於是我想到了用js自己來解析那段類似的分頁模版,正好以前自己也做了js模版引擎(http://www.cnblogs.com/hust/archive/2011/04/28/2032265.html),剛好派上用場,下面是分頁的模版: {{if(data.totalpage>1){ }} {
Time of Update: 2018-12-05
好久沒來更新了,最近工作換的頻繁,依舊浮躁啊!這年頭安心搞搞技術也不容易。現在公司比較閑整理了以前的代碼公用方法庫和彈出層。先把整理後的公用方法庫放上來(以備忘),結構非常簡單甚至簡陋,功能上面幾乎沒太大的變化,主要是使用方法比以前簡單,搞得跟jquery的api差不多,支援簡單的鏈式操作。把所有方法和屬性都掛在g這個對象上了,至於為什麼取名為g,一則因為命名短而不又想用$,二則取原來的getEl方法的首字母。ps:發現金蝶的公用庫也是用getEl作選取器函數名(哎,錯過金蝶的面試有點痛心)。廢
Time of Update: 2018-12-05
前一篇文章裡寫到一個簡單類比對話方塊,之所以大家都喜歡用這種類似的控制項來代替系統內建的對話方塊,原因不外乎:一,為了能控制樣式使對話方塊風格樣式更加美觀;二,自訂一些方法更加靈活的運用。有時候圖簡便不妨也試試系統內建的模態對話方塊,至少多瞭解原來的對話方塊是什麼樣的我們才能寫出更好用的類比對話方塊框組件。基本介紹:showModalDialog() (IE 4+ 支援)showModelessDialog() (IE 5+
Time of Update: 2018-12-05
不知不覺畢業已經近三個年頭了,看園子裡那麼多總結的,那我也總結下。泡杯咖啡,裝下高雅,整理思路。 本人畢業於東北某非著名理工類大學,在校期間,學習成績非常不優異。常常在寢室的床上思考到底是逃英語還是高數,最後經常是兩節課都逃。就這樣渾渾噩噩混到了大三,談了個女朋友,在女朋友的淫威下開始學習。很多的夜晚,在寢室兄弟打呼嚕磨牙摳腳中失眠,思考自己未來的路。本人屌絲一個,家裡無勢父母無權,快畢業了,總是該要想明白未來該怎麼走了。我想現在的大學生也會跟我當時一樣迷茫過吧?這裡吐槽下中國的大學教育,
Time of Update: 2018-12-05
<script defer>中defer的作用使用defer屬性可以讓指令碼在整個頁面裝載完成之後再解析,而非邊裝載邊解析。 這對於只包涵事件觸發的js指令碼而言,可以提高整個頁面的載入速度。 DEFER是指令碼程式強大功能中的一個“無名英雄”。你可能從沒有使用過它,但是看完這裡的介紹後,相信你就離不開它。它告訴瀏覽器Script段包含了無需立即執行的代碼,並且,與SRC屬性聯合使用,它還可以使這些指令碼在後台被下載,前台的內容則正常顯示給使用者。
Time of Update: 2018-12-05
早些時候基於jQuery寫的一個table排序,暫時只支援簡單的資料類型排序。以後有時間改寫成原生js的直接上代碼了,寫的不好,純屬記錄table瀏覽評論主題作者最後評論 10023232北京的天氣真是乾燥,讓人覺得不舒服!肖老師2009/10/11回複1302323458fg232北京的天氣真是乾燥,讓人覺得不舒服!肖老師2009/10/12回複13023232fgfd32北京的天氣真是乾燥,讓人覺得不舒服!肖老師2009/11/11回複13013232ds32北京的天氣真是乾燥,讓人覺得不舒
Time of Update: 2018-12-05
上次的js模板引擎v4基本已經可以滿足大部分需求了,期間也碰到過一些問題,當模板裡需要一些函數來處理資料時,必須得定一個全域函數,或者在一個全域變數上掛著一個屬性,這種用法還是感覺蠻不爽的,沒必要為了一個只在模板內部使用的工具函數影響其外部的代碼,所以這次模板引入了像smarty模板那樣可以定義在模版內部定義函數的helper機制,同時改善了v4中所以模板資料前面必須得加個data,比如有個對象a,模板裡引用時必須得寫上data.a這樣不爽的東西,採用$a代替data.a用著的感覺好多了。該模板
Time of Update: 2018-12-05
最近頁面中要做個省市聯動菜單,自然得與select的option打交道了開發過程中遇到幾個bug,現整理出來。1.option.remove 因為菜單是聯動的,所以城市的option要動態更新,當然就得先清除了,於是我就寫了個清除的函數function clearAllOptions(self){ var option=self.options; for(var