天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

推薦dojo學習筆記

在引用dojo.js前,最好聲明djConfig對象,以便在加載dojo.js時能夠取得所設置的值,雖然在0.3版本以后dojo支持在加載后設置,但是強烈建議你把聲明djConfig的代碼作為第一段script:
一個完整的djConfig對象定義如下(值均為dojo的默認值)
js 代碼
var djConfig = {    
   isDebug: false,    
   debugContainerId: "",    
   bindEncoding: "",    
   allowQueryConfig: false,    
   baseScriptUri: "",    
   parseWidgets: true   
   searchIds: [],    
   baseRelativePath: "",    
   libraryScriptUri: "",    
   iePreventClobber: false,    
   ieClobberMinimal: true,    
   preventBackButtonFix: true,    

debugContainerId同樣也是與調試有關的,如果不指定的話,調試信息將會直接利用 document.write輸出,這樣可能會破壞頁面的整體布局,所以你可以指定任何一個可以作為容器的html元素的id作為調試信息輸出容器
allowQueryConfig,這個屬性指明 dojo是否允許從頁面url的參數中讀取djConfig中的相關屬性,當值為true時,dojo會優先從url參數中讀取djConfig的其他屬性,比如: http://server/dojoDemo.htm?djConfig.debugContainerId=divDebug
baseScriptUri,一般不需要設置,dojo會自動根據你引用dojo.js的路徑設置這個值,比如,<script src="../dojo/dojo.js" type="text/Javascript"></script>,自動獲取的值便是 ../dojo/
ps: 如果你有多個工程需要同時引用dojo.js的話,建議也把dojo當作一個獨立的工程,引用的時候采用絕對路徑就可以了
parseWidgets,這個是可以控制dojo是否自動解析具有dojoType的html元素為對應的widget,如果你沒有使用任何Widget,建議設置為false以加快dojo的加載速度
searchIds,這是一個字符串數組,定義了所有需要解析為widget的html元素的ID,如果ID不在其中的html元素是不會被解析的,當數組為空數組時,則所有具有dojoType的元素都會被解析
還有一個bindEncoding,是用來設置默認的bind請求的編碼方式。
dojo.raise拋出一個異常
dojo.errorToString將異常轉換為字符串
js 代碼
try {    
   dojo.raise("打印失敗", new Error("文件不存在"));    
} catch(e)    
{    
   alert(dojo.errorToString(e));    
}    
isDebug是一個很有用的屬性,如果設置為真,則所有dojo.Debug的輸出有效,開發時應該設置為true,發布時應該設置為false。
1 計算HTML中一個塊的size
js 代碼
dojo.style.getOuterWidth / dojo.style.getOuterHeight     
dojo.style.getInnerWidth / dojo.style.getInnerHeight   
2 修改CSS
js 代碼
dojo.html.addClass(node, className)     
dojo.html.prependClass(node, className)     
dojo.html.removeClass(node, className)     
dojo.html.replaceClass(node, className, oldClassName)   
3 動畫
js 代碼
fadeIn, fadeShow, fadeOut, fadeHide,     
wipeIn, wipeOut      
explode, implode     
highlight, unhighlight     
舉例:     
    function wipeOut(elId){    
        dojo.lfx.wipeOut(elId, 300).play();    
    }    
    function wipeIn(elId) {    
        dojo.lfx.wipeIn(elId, 300).play();    
    }    
    function fadeOut(elId){    
       dojo.lfx.html.fadeOut(elId, 300).play();    
    }    
    function fadeIn(elId){    
       dojo.lfx.html.fadeIn(elId, 300).play();    
    }    
    function opacity(elId){    
       dojo.html.setOpacity(elId, 0.5);    
    }    
    function opacityApp(){    
       $("#opacity").click(function(){    
          opacity('fadeElm');    
       });    
    }    
    function fadeInApp(){    
       $("#fadein").click(function(){    
            fadeIn('fadeElm');    
        });    
    }   dojo.lang模塊:
dojo.lang.mixin將一個對象的方法和屬性增加到另一個對象上:
js 代碼
var s1 = {name: "TestObj", test1: function(){alert("this is test1!");}}    
var s2 = {value: 1000, test2: function(){alert("this is test2!");}}    
var d = {};    
dojo.lang.mixin(d, s1, s2); //執行后d就具備了s1和s2的所有屬性和方法d.test1();   
dojo.lang.extend為指定類的原型擴展方法與屬性:
js 代碼
TestClass = function() {};    
dojo.lang.extend(TestClass, {name: "demo", test: function(){alert("Test!");}});    
var o = new TestClass();      
                   //TestClass本來是沒有test方法的,但是extend以后就有test方法了o.test();   
dojo.lang.find=dojo.lang.indexOf查找指定對象在指定數組中的位置:
js 代碼
var arr = [1,2,3,3,2,1];    
dojo.lang.find(arr, 2);   //will return 1   
dojo.lang.extrasdojo.lang.setTimeout延遲指定時間后執行指定方法:
js 代碼
function onTime(msg){dojo.debug(msg)}    
dojo.lang.setTimeout(onTime, 1000, "test"); //1秒后會輸出調試信息"test"  
DOM操作
js 代碼
dojo.dom.isNode    
dojo.dom.getTagName    
dojo.dom.firstElement    
dojo.dom.lastElement    
dojo.dom.nextElement    
dojo.dom.prevElement    
dojo.dom.moveChildren (srcNode, destNode, trim)    
dojo.dom.copyChildren (srcNode, destNode, trim)    
dojo.dom.removeChildren(node)    
dojo.dom.replaceChildren(node, newChild)    
dojo.dom.removeNode(node)    
dojo.dom.getAncestors    
dojo.dom.getAncestorsByTag    
dojo.dom.innerXML    
dojo.dom.createDocumentFromText    
dojo.dom.prependChild    
dojo.dom.insertAfter    
dojo.dom.insertAtPosition    
dojo.dom.textContent    
先介紹這么多,祝大家周末愉快!

JavaScript技術推薦dojo學習筆記,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 欧美大香线蕉线伊人久久 | 国产婷婷一区二区在线观看 | 达达兔午夜一级毛片 | 欧美三级黄色大片 | 兰桂坊人成社区亚洲精品 | 十九岁韩国电影在线观看 | 中文国产乱码在线人妻一区二区 | 在线亚洲专区中文字幕 | 夜色视频社区 | 国产亚洲福利精品一区 | 国产午夜精品理论片影院 | 在线观看国产日韩 | 亚洲高清国产拍精品5g | 国产精品久久久久久免费字体 | 翁公吮她的花蒂和奶水 | 青春草国产成人精品久久 | 欧美最猛黑人XXXXWWW | 亚洲第一国产 | 秋霞电影网午夜免费鲁丝片 | 动漫美女搞鸡 | 永久免费看mv网站入口 | 亚洲伊人久久综合影院2021 | 久久久久久久99精品免费观看 | 成人欧美尽粗二区三区AV | AV色蜜桃一区二区三区 | 高hh乱亲女真实 | 国产亚洲精品久久久无码狼牙套 | 黑人巨大两根一起挤进欧美 | 色欲档案之麻雀台上淫 | 国产成人亚洲精品午夜国产馆 | FREE乌克兰嫩交HD | 日韩精品久久久久影院 | 男人有噶坏 | 国产精选视频在线观看 | 年轻的的小婊孑2中文字幕 你是淫荡的我的女王 | 精品视频一区二区三三区四区 | 国产午夜一级淫片 | 色琪琪久久热在线 | a级成人免费毛片完整版 | 久久天天躁狠狠躁夜夜呲 | 夜夜国产亚洲视频香蕉 |