新聞中心
如何用javascript實現(xiàn)模塊的拖動?
1、拖動層:
在曲靖等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計制作、網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作定制設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,全網(wǎng)整合營銷推廣,成都外貿(mào)網(wǎng)站建設(shè),曲靖網(wǎng)站建設(shè)費用合理。
div id="div1" style="position:absolute; background-color:#0064c2; width:150px; height:150px;" onmousedown="MoveStart(this,event)"/div
script
function MoveStart(o,event){
var oX = event.clientX-o.offsetLeft;
var oY = event.clientY-o.offsetTop;
document.attachEvent("onmousemove",MoveIt);
document.attachEvent("onmouseup",MoveStop);
event.cancelBubble = true;
event.returnValue = false;
function MoveIt(e){
e = window.event;
o.style.left = (e.clientX-oX)+'px';
o.style.top = (e.clientY-oY)+'px';
event.cancelBubble = true;
}
function MoveStop(){
document.detachEvent("onmouseup",MoveStop);
document.detachEvent("onmousemove",MoveIt);
}
event.cancelBubble = true;
}
/script
2、關(guān)掉瀏覽器,拖動以后的層還可以留在拖動后的位置。
只需要在用戶退出時,記錄層的當前位置,存儲于數(shù)據(jù)庫中,下次用戶再打開此頁面時,從數(shù)據(jù)庫中讀取層的位置再顯示。
如何運用javascript引入HTML,在網(wǎng)頁中插入模塊
在JS中插入短的HTML代碼,可以通過先使用一個函數(shù)來包著,你要添加的HTMl代碼,然后在使用innerHTML這個函數(shù)提取就行,在你的HTMl中添加一個事件就行,然后調(diào)用這個函數(shù)就行了,具體的我提供例子給你看下:
javascript模塊化是什么?優(yōu)缺點有哪些?
可維護性
靈活架構(gòu),焦點分離
方便模塊間組合、分解
方便單個模塊功能調(diào)試、升級
多人協(xié)作互不干擾
可測試性,可分單元測試;
性能損耗
系統(tǒng)分層,調(diào)用鏈會很長
模塊間通信,模塊間發(fā)送消息會很耗性能
最近的項目中也有用到模塊化;
使用的是seajs,但是當引用到j(luò)query,jquery easyui/或者jquery;
UI組件時,有可能會用到很多jquery插件,那這樣要是實現(xiàn)一個很復(fù)雜的交互時,模塊間的依賴會很多,使用define()方法引入模塊會很多。
頁面中有多個javascript模塊要響應(yīng)document.body.onmouseup事件,怎么使它們互不干擾?
用添加事件
function addEvent(obj, eventName, handler, argsObject)
{
var eventHandler = handler;
if(argsObject)
{
eventHander = function(e)
{
handler.call(argsObject, e);
}
}
if(window.attachEvent)
obj.attachEvent("on" + eventName, eventHandler );
else
obj.addEventListener(eventName, eventHandler, false);
}
function removeEvent( obj, eventName, handler, cap)
{
var cap = cap || false;
if(window.detachEvent)
obj.detachEvent("on"+eventName, handler)
else
obj.removeEventListener(eventName, handler, cap);
}
這樣onmouseover就有多個動作了
javascript模塊化是什么及其優(yōu)缺點介紹
如今backbone、emberjs、spinejs、batmanjs
等MVC框架侵襲而來。CommonJS、AMD、NodeJS、RequireJS、SeaJS、curljs等模塊化的JavaScript撲面而
來。web前端已經(jīng)演變成大前端,web前端的發(fā)展速度之快。
1)我們來看看什么是模塊化?
模塊化是一種將系統(tǒng)分離成獨立功能部分的方法,可將系統(tǒng)分割成獨立的功能部分,嚴格定義模塊接口、模塊間具有透明性。javascript中的模塊在一些C、PHP、java中比較常見:
c中使用include 包含.h文件;php中使用require_once包含.php文件
java使用import導(dǎo)入包
此中都有模塊化的思想。
2)模塊化的優(yōu)缺點:
a優(yōu)點:
可維護性
1.靈活架構(gòu),焦點分離
2.方便模塊間組合、分解
3.方便單個模塊功能調(diào)試、升級
4.多人協(xié)作互不干擾
可測試性
1.可分單元測試
b缺點:
性能損耗
1.系統(tǒng)分層,調(diào)用鏈會很長
2.模塊間通信,模塊間發(fā)送消息會很耗性能
3)最近的項目中也有用到模塊化,
使用的是seajs,但是當引用到j(luò)query,jquery easyui/或者jquery
UI組件時,有可能會用到很多jquery插件,那這樣要是實現(xiàn)一個很復(fù)雜的交互時,模塊間的依賴會很多,使用define()方法引入模塊會很多,不知
有么有什么好的方法?
4)附:
內(nèi)聚度
內(nèi)聚度指模塊內(nèi)部實現(xiàn),它是信息隱藏和局部化概念的自然擴展,它標志著一個模塊內(nèi)部各成分彼此結(jié)合的緊密程度。好處也很明顯,當把相關(guān)的任務(wù)分組后去閱讀就容易多了。 設(shè)計時應(yīng)該盡可能的提高模塊內(nèi)聚度,從而獲得較高的模塊獨立性。
耦合度
耦合度則是指模塊之間的關(guān)聯(lián)程度的度量。耦合度取決于模塊之間接口的復(fù)雜性,進入或調(diào)用模塊的位置等。與內(nèi)聚度相反,在設(shè)計時應(yīng)盡量追求松散耦合的系統(tǒng)。
網(wǎng)站欄目:javascript模塊,javascript模塊化開發(fā)
轉(zhuǎn)載源于:http://www.dlmjj.cn/article/dssjidc.html