欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

有趣javascript,有趣的故事

javascript框架有哪些

目前來看,JS框架以及一些開發(fā)包和庫類有如下幾個,Dojo 、Scriptaculous 、Prototype 、yui-ext 、Jquery 、Mochikit、mootools 、moo.fx

10年積累的網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有定邊免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

Dojo (JS library and UI component ):

Dojo是目前最為強(qiáng)大的j s框架,它在自己的Wiki上給自己下了一個定義,dojo是一個用JavaScript編寫的開源的DHTML工具箱。dojo很想做一個“大一統(tǒng)”的 工具箱,不僅僅是瀏覽器層面的,野心還是很大的。Dojo包括ajax, browser, event, widget等跨瀏覽器API,包括了JS本身的語言擴(kuò)展,以及各個方面的工具類庫,和比較完善的UI組件庫,也被廣泛 應(yīng)用在很多項(xiàng)目中,他的UI組件的特點(diǎn)是通過給html標(biāo)簽增加tag的方式進(jìn)行擴(kuò)展,而不是通過寫JS來生成,dojo的API模仿Java類庫的組織 方式。 用dojo寫Web OS可謂非常方便。dojo現(xiàn)在已經(jīng)4.0了,dojo強(qiáng)大的地方在于界面和特效的封裝,可以讓開發(fā)者快速構(gòu)建一些兼容標(biāo)準(zhǔn)的界面。

優(yōu)點(diǎn):庫相當(dāng)完善,發(fā)展時間也比較長,功能強(qiáng)大,據(jù)說利用dojo的io.bind()可以實(shí)現(xiàn)comet,看見其功能強(qiáng)大非一般,得到IBM和SUN的支持

缺點(diǎn):文件體積比較大,200多KB,初次下載相當(dāng)慢,此外,dojo的類庫使用顯得不是那么易用,j s語法增強(qiáng)方面不如prototype。

Prototype (JS OO library):

是一個非常優(yōu)雅的JS庫,定義了JS的面向?qū)ο髷U(kuò)展,DOM操作API,事件等等,以prototype為核心,形成了一個外圍的各種各樣 的JS擴(kuò)展庫,是相當(dāng)有前途的JS底層框架,值得推薦,感覺也是現(xiàn)實(shí)中應(yīng)用最廣的庫類(RoR集成的AJAX JS庫),之上還有 Scriptaculous 實(shí)現(xiàn)一些JS組件功能和效果。

優(yōu)點(diǎn):基本底層,易學(xué)易用,甚至是其他一些js特效開發(fā)包的底層,體積算是最小的了。

缺點(diǎn):如果說缺點(diǎn),可能就是功能是他的弱項(xiàng)

Scriptaculous (JS UI component based on prototype):

Scriptaculous是基于prototype.js框架的JS效果。包含了6個js文件,不同的文件對應(yīng)不同的js效果,所以說,如果底層用 prototype的話,做js效果用Scriptaculous那是再合適不過的了,連大名鼎鼎的digg都在用他,可見不一般

優(yōu)點(diǎn):基于prototype是最大的優(yōu)點(diǎn),由于使用prototype的廣泛性,無疑對用戶書錦上添花,并且在《ajax in action》中就拿Scriptaculous來講述js效果

缺點(diǎn):剛剛興起,需要時間的磨練

yui-ext (JS UI component):

基于Yahoo UI的擴(kuò)展包yui-ext是具有CS風(fēng)格的Web用戶界面組件 能實(shí)現(xiàn)復(fù)雜的Layout布局,界面效果可以和backbase媲美,而且使用純javascript代碼開發(fā)。真正的可編輯的表格Edit Grid,支持XML和Json數(shù)據(jù)類型,直接可以遷入grid。許多組件實(shí)現(xiàn)了對數(shù)據(jù)源的支持,例如動態(tài)的布局,可編輯的表格控件,動態(tài)加載的Tree 控件、動態(tài)拖拽效果等等。1.0 beta版開始同Jquery合作,推出基于jQuery的Ext 1.0,提供了更多有趣的功能。

優(yōu)點(diǎn):結(jié)構(gòu)化,類似于java的結(jié)構(gòu),清晰明了,底層用到了Jquery的一些函數(shù),使整合使用有了選擇,最重要的一點(diǎn)是界面太讓讓人震撼了。

缺點(diǎn):太過復(fù)雜,整個界面的構(gòu)造過于復(fù)雜。

Jquery :

jQuery是一款同prototype一樣優(yōu)秀js開發(fā)庫類,特別是對css和XPath的支持,使我們寫js變得更加方便!如果你不是個js高手又想寫出優(yōu) 秀的js效果,jQuery可以幫你達(dá)到目的!并且簡介的語法和高的效率一直是jQuery追求的目標(biāo),

優(yōu)點(diǎn):注重簡介和高效,js效果有yui-ext的選擇,因?yàn)閥ui-ext 重用了很多jQuery的函數(shù)

缺點(diǎn):據(jù)說太嫩,歷史不悠久。

Mochikit :

MochiKit自稱為一個輕量級的js框架。MochiKit 主要受到 Python 和 Python 標(biāo)準(zhǔn)庫提供的很多便利之處的啟發(fā),另外還緩解了瀏覽器版本之間的不一致性。其中的 MochiKit.DOM 尤其方便,能夠以比原始 JavaScript 更友好的方式處理 DOM 對象。MochiKit.DOM 大部分都是針對 XHTML 文檔定制的,如果與 MochiKit 和 Ajax 結(jié)合在一起,使用 XHTML 包裝的微格式尤其方便。Mochikit可以直接對字符串或者數(shù)字格式化輸出,比較實(shí)用和方便。它還有自己的 js 代碼解釋器

優(yōu)點(diǎn):MochiKit.DOM這部分很實(shí)用,簡介也是很突出的

缺點(diǎn):輕量級的缺點(diǎn)

mootools :

MooTools是一個簡潔,模塊化,面向?qū)ο蟮腏avaScript框架。它能夠幫助你更快,更簡單地編寫可擴(kuò)展和兼容性強(qiáng)的JavaScript代碼。Mootools跟prototypejs相類似,語法幾乎一樣。但它提供的功能要比prototypejs多,而且更強(qiáng)大。比如增加了動畫特效、拖放操作等等。

優(yōu)點(diǎn):可以定制自己所需要的功能,可以說是prototypejs的增強(qiáng)版。

缺點(diǎn):不大不小,具體應(yīng)用具體分析

moo.fx :

moo.fx是一個超級輕量級的javascript特效庫(7k),能夠與prototype.js或mootools框架一起使用。它非常快、易于使用、跨瀏覽器、符合標(biāo)準(zhǔn),提供控制和修改任何HTML元素的CSS屬性,包括顏色。它內(nèi)置檢查器能夠防止用戶通過多次或瘋狂點(diǎn)擊來破壞效果。moo.fx整體采用模塊化設(shè)計(jì),所以可以在它的基礎(chǔ)上開發(fā)你需要的任何特效。

優(yōu)點(diǎn):小塊頭有大能耐

缺點(diǎn):這么小了,已經(jīng)不錯了

求js高手解釋如下這個有趣的代碼:先說xmlns:v是什么情況?然后解釋那個不規(guī)則的for循環(huán)。

var l=0;

while( l-201!=0 ){

if(l-135!=0){

if(l-23!=0) l+=1;

else l+=9;

}esle{

l+=41;

}

document.write( l + 'v:rect style="width:50px; height:50px; behavior:URL(#default#VML);" coordsize="21600, 21600" fillcolor="#' + (Math.random() * 4096).toString(16) + '" O:SpT=' + l + ' onclick="fill.on=0" /');

}

你所說的 "不規(guī)則的for循環(huán)" 其實(shí)非常標(biāo)準(zhǔn),只是用了兩重三元運(yùn)算符而已。

我把他換成了完全等價的while循環(huán),相信你能理解的、

談?wù)刯s點(diǎn)擊之后發(fā)生了什么

之所以突然想寫這個文章,主要是之前看到一篇有意思的博文, 《探究點(diǎn)擊事件在JavaScript事件循環(huán)中的表現(xiàn)》 ,有趣的地方在于JS點(diǎn)擊事件加入回調(diào)的 并不是點(diǎn)擊事件的回調(diào)方法 ,而是點(diǎn)擊事件本身 (點(diǎn)擊位置等描述點(diǎn)擊的) 。

當(dāng)我們連續(xù)點(diǎn)擊 button.a 兩次的時候,結(jié)果卻是

明明是點(diǎn)擊的 button.a ,為什么會觸發(fā) button.b 的事件?

無論通過 onclick 還是 addEventListener 實(shí)現(xiàn)事件綁定,我懷疑綁定機(jī)制是一樣的,因?yàn)樵趯?shí)際測試中,我發(fā)現(xiàn) onclick 執(zhí)行順序和 addEventListener 是一樣的,也就是什么時候綁定,那么就在第幾個執(zhí)行。

addEventListener 和 onclick 不同,不是直接給 dom 綁定屬性,并且我在 dom 節(jié)點(diǎn)上也沒有看到任何相應(yīng)的對象用于保存事件,可見 addEventListener 是不同的機(jī)制,參考 EventEmitter ,試著去實(shí)現(xiàn)一個 addEventListener

通過上面分析,總結(jié)一下

如何創(chuàng)建一個JavaScript彈出DIV窗口層的效果

實(shí)現(xiàn)原理:

首先,我們將彈出框中的內(nèi)容放置在一個特殊的DIV層中,然后默認(rèn)隱藏它(即初始不可

見,使用CSS即可實(shí)現(xiàn))。當(dāng)用戶執(zhí)行某個動作時——比如點(diǎn)擊某個鏈接或者將鼠標(biāo)光標(biāo)移動到某個鏈接上——我們將之前設(shè)置好的隱藏層顯示在所有頁面元素的

最上層(將使用JS操作實(shí)現(xiàn))。此外,我們還將在彈出DIV窗口中設(shè)置一個按鈕來執(zhí)行——當(dāng)用戶點(diǎn)擊此按鈕時關(guān)閉窗口的功能。

實(shí)現(xiàn)過程:

就如我上面提到的,我們首先需要創(chuàng)建一個特殊的DIV層,然后我們將彈出窗口的內(nèi)容放在這個DIV層里面。在這里,我們將其ID命名為“popupcontent ”以區(qū)別于其他DIV層。

div id="popupcontent"這是一個DIV彈窗效果!/div

彈出窗口的CSS修飾代碼:

下來,讓我們給上面已創(chuàng)建好的這個DIV彈出層進(jìn)行CSS美化。其中最重要的幾個參數(shù)分別是:overflow(內(nèi)容溢出),

visibility(可見性)

和position(定位方式)。同時我也給這個窗口效果添加了很多其他代碼,但這些只是用于美化,使這個窗口更絢麗。所以,我們最后定義的CSS代碼形

如:

復(fù)制代碼 代碼如下:

#popupcontent{

position: absolute;

visibility: hidden;

overflow: hidden;

border:1px solid #CCC;

background-color:#F9F9F9;

border:1px solid #333;

padding:5px;

}

從上面CSS代碼中的紅色部分可以看出:這個DIV層初始默認(rèn)狀態(tài)是不可見的。

大家可以根據(jù)需要對以上代碼進(jìn)行美化,但請務(wù)必保留position,visibility,overflow三個屬性。

JavaScript代碼用于觸發(fā)和顯示彈出窗口:

這可能是本教程最重要最有趣的地方了。我們接下來會編寫2個過程函數(shù)分別用于顯示和隱藏上面那個DIV彈窗。當(dāng)然,這兩個函數(shù)之中會包含一些主體邏輯。

過程函數(shù)中需要順序包含的邏輯:

計(jì)算JavaScript彈出窗口在屏幕上的顯示位置(定位);

在彈出窗口中添加一個狀態(tài)欄(或按鈕),用于關(guān)閉打開狀態(tài)下的窗口;

顯示彈出窗口。

為了簡單起見,本例中我們設(shè)置的顯示位置是Top:200,Left:200。即以瀏覽器內(nèi)容框的左上角為坐標(biāo),向下偏移200PX,向左偏移200PX。

彈出窗口的大小我們可以在顯示函數(shù)的參數(shù)中進(jìn)行設(shè)置,包括兩個參數(shù):窗口長度和窗口寬度。

如果你需要將本例中的代碼進(jìn)行二次開發(fā),有個地方需要特別注意,那就是獲取彈出窗口DIV層的DOM對象,我們可以通過下面這個getElementById函數(shù)來獲取ID名為“Popcontent”的DOM對象。

如何用javascript寫碰壁反彈效果

碰壁反彈這個效果真的是挺有趣的,看起來就比較的高大上,而且寫碰壁反彈成功后,也就能做些網(wǎng)頁小游戲了。雖然這么說,但其實(shí)這個效果并不難寫。只是坑比較的多,很多工作多年的程序員都可能會陷進(jìn)去。

廢話不多說,我們寫起來:

1.CSS文件:

style

body{

border-style: solid;

border-color: sliver;

border-width: 5px;

margin-left: 100px;

width:1000px;

height:800px;

}

#screen{

width:800px;

height:600px;

background-color:#272822;

position:relative;

left:100px;

top:100px;

}

#egg{

width:50px;

height:50px;

background-color:red;

position:relative;

}

/style

2.body內(nèi)容:

body

div id="screen"

div id="egg"

/div

/div

/body

3.JavaScript腳本:

var eggX=0;

var eggY=0;

var directX=1;

var directY=1;

function test(){

eggX+=directX;

eggY+=directY;

egg.style.left=eggX+"px";

egg.style.top=eggY+"px";

if(eggX+egg.offsetWidth=document.getElementById("screen").clientWidth||eggX=0) {

directX=-directX;

}

if(eggY+egg.offsetHeight=document.getElementById("screen").clientHeight||eggY=0){

directY=-directY;

}

}

setInterval("test()",1);

說明:拷貝代碼,我們就能看到一個碰壁反彈的方框了。當(dāng)然如果想要換成圖片,直接將div里的內(nèi)容換掉就OK了。不過這樣似乎太美水準(zhǔn)了點(diǎn),在這附上完整代碼(有障礙物的):

!DOCTYPE html

html

head

meta http-equiv="content-type" content="text/html; charset=UTF-8"

title碰壁反彈/title

style

body{

border-style: solid;

border-color: sliver;

border-width: 5px;

margin-left: 100px;

width:1000px;

height:800px;

}

#screen{

width:800px;

height:600px;

background-color:#272822;

position:relative;

left:100px;

top:100px;

}

#egg{

width:50px;

height:50px;

background-color:red;

position:relative;

}

#cock{

position:relative;

left:200px;

top:200px;

width:200px;

height:30px;

background-color: blue;

cursor: pointer;

}

/style

/head

body

div id="screen"

div id="egg"

/div

div id="cock" onmousedown="startDrag(this)" onmousemove="drag(this)" onmouseup="stopDrag(this)"

/div

/div

/body

script type="text/javascript"

var eggX=0;

var eggY=0;

var directX=1;

var directY=1;

function test(){

eggX+=directX;

eggY+=directY;

egg.style.left=eggX+"px";

egg.style.top=eggY+"px";

if(eggX+egg.offsetWidth=document.getElementById("screen").clientWidth||eggX=0) {

directX=-directX;

}

if(eggY+egg.offsetHeight=document.getElementById("screen").clientHeight||eggY=0){

directY=-directY;

}

if(eggY+egg.offsetHeight=document.getElementById("cock").offsetTop(eggX+egg.offsetWidth=200eggX+egg.offsetWidth=400)){

directY=-directY;

}

if((eggY-30)=document.getElementById("cock").offsetTop(eggX+egg.offsetWidth=200eggX+egg.offsetWidth=400)){

directY=-directY;

}

}

setInterval("test()",1);

/script

/html

現(xiàn)在JavaScript可以做哪些有趣的事

你好!

JavaScript的誕生首先就是網(wǎng)頁腳本

之后的html api讓JavaScript有了操作DOM和渲染DOM的能力,于是可以生成整個網(wǎng)頁

蘋果又加了料,在webkit component里加入了canvas /,于是js可以繪圖

后來微軟提出的的ajax和新的H5腳本誕生了SPA的概念,于是有了網(wǎng)頁應(yīng)用

我能畫畫,我能交互,我要成為高達(dá)!于是基于JavaScript的網(wǎng)頁游戲如雨后春筍

Ryan Dahl這個人想搞點(diǎn)大事情,“要有服務(wù)器”,于是有了 NodeJS

希望我的回答能幫助你!

望采納謝謝????

祝生活愉快!

當(dāng)前題目:有趣javascript,有趣的故事
文章起源:http://chinadenli.net/article38/dsicipp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈網(wǎng)頁設(shè)計(jì)公司標(biāo)簽優(yōu)化外貿(mào)網(wǎng)站建設(shè)微信公眾號商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)