最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mootools 1.2教程 滑動(dòng)效果(Slide)

 更新時(shí)間:2009年09月15日 22:57:28   作者:  
今天繼續(xù)我們的Mootools 1.2教程的第23課,我們今天來(lái)講一下Fx插件中的Fx.Slide。通過(guò)該插件,可以讓你把內(nèi)容以滑動(dòng)的方式顯示出來(lái)。它使用起來(lái)非常簡(jiǎn)單,是你UI工具箱中一個(gè)很好的工具。
基本用法
就像我們前面看過(guò)的所有類一樣,我們?cè)诎堰@個(gè)類應(yīng)用到一個(gè)元素上面時(shí),我們要做的第一件事就是初始化一個(gè)新的Fx.Slide實(shí)例。
首先,讓我們?yōu)榛瑒?dòng)元素建立一個(gè)HTML文件。
參考代碼:
復(fù)制代碼 代碼如下:

<div id="slide_element" class="slide">這里是要滑動(dòng)顯示的內(nèi)容。</div>

我們的CSS也不需要任何修飾。
參考代碼:
復(fù)制代碼 代碼如下:

.slide {
margin: 20px 0;
padding: 10px;
width: 200px;
background-color: #DAF7B4;
}

最后,我們來(lái)初始化一個(gè)新的Fx.Slide并給它傳遞我們的元素變量。
參考代碼:
復(fù)制代碼 代碼如下:

var slideElement = $('slide_element');
var slideVar = new Fx.Slide(slideElement, {
// Fx.Slide選項(xiàng)
mode: 'vertical', // 默認(rèn)是'vertical'(垂直)
// Fx選項(xiàng)
transition: 'sine:in',
duration: 300,
// Fx事件
onStart: function(){
$('start').highlight("#EBCC22");
}
});

由于Fx.Slide是Fx的一個(gè)擴(kuò)展,因此你可以使用Fx的任何選項(xiàng)和事件,不過(guò)Fx.Slide也有一些自己的選項(xiàng)。
Fx.Slide選項(xiàng)
Fx.Slide只有兩個(gè)選項(xiàng)——“mode”和“wrapper”。坦白地說(shuō),我從來(lái)沒(méi)有發(fā)現(xiàn)我自己使用過(guò)“wrapper”(我從來(lái)沒(méi)有遇到過(guò)這種需求),不過(guò)“mode”決定了你是希望水平滑動(dòng)還是垂直滑動(dòng)。
mode(模式)
模式給了你兩個(gè)選擇——“垂直”或者“水平”。垂直是從頂部到底部的顯示,水平是從左邊到右邊的顯示。這里沒(méi)有從底部到頂部或從右邊到左邊的選項(xiàng)。不過(guò)我知道修改類本身來(lái)實(shí)現(xiàn)這些功能是相對(duì)簡(jiǎn)單的。在我看來(lái),我還是希望這能成為一個(gè)標(biāo)準(zhǔn)的選項(xiàng),如果有人已經(jīng)修改了這個(gè)類并允許這些選項(xiàng),請(qǐng)給我們留言。
wrapper(包裝器)
在缺省情況下,F(xiàn)x.Slide會(huì)在你的滑動(dòng)元素的外面添加一個(gè)包裝器,并指定其“overflow”屬性的值為“hidden”。wrapper允許你設(shè)置其他元素作為該元素的包裝器。就像我上面所說(shuō)的,我不清楚它在那里會(huì)被用到,我也有興趣聽(tīng)到任何關(guān)于這個(gè)東西的想法。(感謝mooforum.net的horseweapon讓我明白這個(gè)一點(diǎn)。)
Fx.Slide的方法
Fx.Slide也提供了許多方法來(lái)顯示或者隱藏元素。
.slideIn()
正如名字所告訴你的,該方法講觸發(fā)start(開(kāi)始)時(shí)間并顯示你的元素。
.slideOut()
滑動(dòng)元素到隱藏狀態(tài)。
.toggle()
這個(gè)方法有可能顯示或者隱藏元素,結(jié)果完全取決于這個(gè)元素的當(dāng)前狀態(tài)。用于點(diǎn)擊事件時(shí)非常有用。
.hide()
這將隱藏元素,但不使用滑動(dòng)效果。
.show()
這將顯示元素,但不使用滑動(dòng)效果。
通過(guò)方法重新設(shè)置模式選項(xiàng)
上面的每個(gè)方法均可以接受一個(gè)可選的mode參數(shù),允許你覆蓋之前設(shè)置的選項(xiàng)。
參考代碼:
復(fù)制代碼 代碼如下:

slideVar.slideIn('horizontal');

Fx.Slide快捷方式
Fx.Slide類還提供了一些非常方便的快捷方式來(lái)給元素添加滑動(dòng)效果。
.set('slide');
你可以不用初始化一個(gè)新類,而通過(guò)set方法來(lái)給元素添加一個(gè)slide對(duì)象來(lái)創(chuàng)建一個(gè)新的slide實(shí)例。
參考代碼:
復(fù)制代碼 代碼如下:

slideElement.set('slide');

設(shè)置選項(xiàng)
甚至你還可以通過(guò)快捷方式設(shè)置選項(xiàng):
參考代碼:
復(fù)制代碼 代碼如下:

slideElement.set('slide', {duration: 1250});

.slide()
一旦用.set()方法設(shè)置了slide,你就可以用.slide()方法來(lái)初始化它。
參考代碼:
復(fù)制代碼 代碼如下:

slideElement.slide('in');

.slide方法可以接受以下參數(shù):
'in'
'out'
'toggle'
'show'
'hide'
每一個(gè)參數(shù)均和上面的方法相對(duì)應(yīng)。
代碼示例
上面所講的這些基本涵蓋了全部基本用法。下面的示例將使用我們上面學(xué)到的大部分知識(shí),顯示一些不同的滑動(dòng)元素,并提供一些div作為指示器,以便你可以清楚地看到這些事件。
首先,創(chuàng)建HTML文件。
參考代碼:
復(fù)制代碼 代碼如下:

<div id="start" class="ind">Start</div>
<div id="cancel" class="ind">Cancel</div>
<div id="complete" class="ind">Complete</div>
<br /><br />
<button id="openA">open A</button>
<button id="closeA">close A</button>
<div id="slideA" class="slide">Here is some content - A. Notice the delay before onComplete fires. This is due to the transition effect, the onComplete will not fire until the slide element stops "elasticing." Also, notice that if you click back and forth, it will "cancel" the previous call and give the new one priority.</div>
<button id="openB">open B</button>
<button id="closeB">close B</button>
<div id="slideB" class="slide">Here is some content - B. Notice how if you click me multiple times quickly I "chain" the events. This slide is set up with the option "link: 'chain'"</div>
<button id="openC">toggle C</button>
<div id="slideC" class="slide">Here is some content - C</div>
<button id="openD">toggle D</button>
<div id="slideD" class="slide">Here is some content - D. Notice how I am not hooked into any events. This was done with the .slide shortcut.</div>
<button id="openE">toggle E</button>
<div id="slide_wrap">
<div id="slideE" class="slide">Here is some content - E</div>
</div>

接下來(lái)是CSS文件。我們讓它盡量保持簡(jiǎn)單。
參考代碼:
復(fù)制代碼 代碼如下:

.ind {
width: 200px;
padding: 10px;
background-color: #87AEE1;
font-weight: bold;
border-bottom: 1px solid white;
}
.slide {
margin: 20px 0;
padding: 10px;
width: 200px;
background-color: #DAF7B4;
}
#slide_wrap {
padding: 30px;
background-color: #D47000;
}

最后,是我們的Mootools JavaScript代碼:
參考代碼:
復(fù)制代碼 代碼如下:

window.addEvent('domready', function() {
// 示例A
var slideElement = $('slideA');
var slideVar = new Fx.Slide(slideElement, {
// Fx.Slide選項(xiàng)
mode: 'horizontal', // 默認(rèn)是'vertical'
//wrapper: this.element, // 默認(rèn)是this.element
// Fx選項(xiàng)
link: 'cancel',
transition: 'elastic:out',
duration: 'long',
// Fx事件
onStart: function(){
$('start').highlight("#EBCC22");
},
onCancel: function(){
$('cancel').highlight("#EBCC22");
},
onComplete: function(){
$('complete').highlight("#EBCC22");
}
}).hide().show().hide(); // 注意,.hide和.show方法并不觸發(fā)事件
$('openA').addEvent('click', function(){
slideVar.slideIn();
});
$('closeA').addEvent('click', function(){
slideVar.slideOut();
});
// 示例B
var slideElementB = $('slideB');
var slideVarB = new Fx.Slide(slideElementB, {
// Fx.Slide選項(xiàng)
mode: 'vertical', // 默認(rèn)是'vertical'
// Fx選項(xiàng)
// 注意:鏈?zhǔn)叫Ч梢宰屇愣啻吸c(diǎn)擊,
// 當(dāng)鼠標(biāo)離開(kāi)后,
// 每次點(diǎn)擊的動(dòng)畫(huà)可以依次觸發(fā)
link: 'chain',
// Fx事件
onStart: function(){
$('start').highlight("#EBCC22");
},
onCancel: function(){
$('cancel').highlight("#EBCC22");
},
onComplete: function(){
$('complete').highlight("#EBCC22");
}
});
$('openB').addEvent('click', function(){
slideVarB.slideIn();
});
$('closeB').addEvent('click', function(){
slideVarB.slideOut();
});
// 示例 C
var slideElementC = $('slideC');
var slideVarC = new Fx.Slide(slideElementC, {
// Fx.Slide選項(xiàng)
mode: 'vertical', // 默認(rèn)是'vertical'
//wrapper: this.element, // 默認(rèn)是this.element
// Fx選項(xiàng)
//link: 'cancel',
transition: 'sine:in',
duration: 300,
// Fx事件
onStart: function(){
$('start').highlight("#EBCC22");
},
onCancel: function(){
$('cancel').highlight("#EBCC22");
},
onComplete: function(){
$('complete').highlight("#EBCC22");
}
}).hide();
$('openC').addEvent('click', function(){
slideVarC.toggle();
});
$('slideD').slide('hide');
$('openD').addEvent('click', function(){
$('slideD').slide('toggle');
});
// 示例C
var slideElementE = $('slideE');
var slideWrap = $('slide_wrap');
var slideVarE = new Fx.Slide(slideElementE, {
// Fx.Slide選項(xiàng)
//mode: 'vertical', // 默認(rèn)是'vertical'
wrapper: slideWrap // 默認(rèn)是this.element
}).hide();
$('openE').addEvent('click', function(){
slideVarE.toggle();
});
});

學(xué)習(xí)更多……

Fx.Slide是一個(gè)多功能,非常有用的插件。要學(xué)習(xí)更多,查看Fx.Slide文檔,Fx.MorphFx文檔

另外,也一定要閱讀一下我們關(guān)于Fx.Morph和Fx選項(xiàng)和事件的教程。

下載最后示例代碼的zip壓縮文件

包含你開(kāi)始所需要的所有東西。

相關(guān)文章

  • 基于mootools 1.3框架下的圖片滑動(dòng)效果代碼

    基于mootools 1.3框架下的圖片滑動(dòng)效果代碼

    容器采用相對(duì)定位,圖片采用絕對(duì)定位,當(dāng)鼠標(biāo)移動(dòng)到相應(yīng)的圖片上,改變?nèi)eft屬性,用tween實(shí)現(xiàn)動(dòng)畫(huà)效果.
    2011-04-04
  • Mootools 1.2教程 事件處理

    Mootools 1.2教程 事件處理

    我們學(xué)習(xí)了在MooTools 1.2中建立和使用函數(shù)的幾種不同方式。下一步就是理解事件了。和選擇器類似,事件也是建立互動(dòng)界面的一個(gè)重要部分。
    2009-09-09
  • 通過(guò)Mootools 1.2來(lái)操縱HTML DOM元素

    通過(guò)Mootools 1.2來(lái)操縱HTML DOM元素

    今天我們來(lái)深入地學(xué)習(xí)一下如果操縱HTML元素。通過(guò)MooTools 1.2,你可以添加新元素到一個(gè)HTML頁(yè)面中,也可以刪除元素,以及改變?nèi)魏螛邮交蛘咴貐?shù),這些都非常容易。
    2009-09-09
  • MooBox 基于Mootools的對(duì)話框插件

    MooBox 基于Mootools的對(duì)話框插件

    這幾天, 利用晚上的閑暇時(shí)間, 寫了個(gè)mootools組件,原型來(lái)自于jQuery UI Dialog, 為防止重復(fù),就起了名字叫mooBox.
    2012-01-01
  • Mootools 1.2教程 輸入過(guò)濾第二部分(字符串)

    Mootools 1.2教程 輸入過(guò)濾第二部分(字符串)

    今天我們來(lái)看一看MooTools給我們提供的額外的一些處理字符函數(shù)。這只是MooTools字符串處理中的一部分,并不包含一些神秘的函數(shù)(比如toCamelCase())和使用正則表達(dá)式處理字符串的函數(shù)。
    2009-09-09
  • Mootools 1.2教程 定時(shí)器和哈希簡(jiǎn)介

    Mootools 1.2教程 定時(shí)器和哈希簡(jiǎn)介

    在今天的教程中,我們將關(guān)注兩塊內(nèi)容:第一個(gè)就是.periodical();方法,然后我們?cè)賹?duì)hash做一個(gè)簡(jiǎn)介。
    2009-09-09
  • Mootools 1.2教程 函數(shù)

    Mootools 1.2教程 函數(shù)

    講一講JavaScript中的函數(shù)(function)的基本知識(shí)。
    2009-09-09
  • 基于mootools插件實(shí)現(xiàn)遮罩層新手引導(dǎo)

    基于mootools插件實(shí)現(xiàn)遮罩層新手引導(dǎo)

    公司項(xiàng)目有這個(gè)需求,剛好這段時(shí)間在學(xué)習(xí)了mootools,于是把功能寫成了mootools插件,個(gè)人感覺(jué)mootools在這方面比jquery強(qiáng)多了
    2012-05-05
  • Mootools 1.2教程 滾動(dòng)條(Slider)

    Mootools 1.2教程 滾動(dòng)條(Slider)

    到現(xiàn)在為止,初始化這些MooTools插件對(duì)象就會(huì)開(kāi)始變得越來(lái)越熟悉。滾動(dòng)條(Slider)沒(méi)有任何不同,你要?jiǎng)?chuàng)建一個(gè)新的滾動(dòng)條,定義滾動(dòng)條和滑塊相關(guān)的元素,然后設(shè)置你的選項(xiàng),再創(chuàng)建一些回調(diào)事件的控制函數(shù)。
    2009-09-09
  • 用Mootools獲得操作索引的兩種方法分享

    用Mootools獲得操作索引的兩種方法分享

    用Mootools獲得操作索引的兩種方法分享,需要的朋友可以參考下。
    2011-12-12

最新評(píng)論

望城县| 乡城县| 大宁县| 旬邑县| 旬阳县| 长岛县| 班玛县| 太和县| 滕州市| 枣阳市| 泗水县| 来安县| 德保县| 沂水县| 京山县| 西峡县| 新野县| 友谊县| 东乡县| 墨江| 青铜峡市| 萝北县| 河北省| 班玛县| 襄樊市| 巴彦淖尔市| 乌海市| 黄大仙区| 巩留县| 高台县| 乐都县| 九龙县| 江都市| 泸水县| 济南市| 平凉市| 许昌市| 图木舒克市| 云南省| 庐江县| 邛崃市|