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

Mootools 1.2教程 滑動效果(Slide)

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

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

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

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

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

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

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

slideVar.slideIn('horizontal');

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

slideElement.set('slide');

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

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

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

slideElement.slide('in');

.slide方法可以接受以下參數(shù):
'in'
'out'
'toggle'
'show'
'hide'
每一個參數(shù)均和上面的方法相對應(yīng)。
代碼示例
上面所講的這些基本涵蓋了全部基本用法。下面的示例將使用我們上面學(xué)到的大部分知識,顯示一些不同的滑動元素,并提供一些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>

接下來是CSS文件。我們讓它盡量保持簡單。
參考代碼:
復(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選項
mode: 'horizontal', // 默認(rèn)是'vertical'
//wrapper: this.element, // 默認(rèn)是this.element
// Fx選項
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選項
mode: 'vertical', // 默認(rèn)是'vertical'
// Fx選項
// 注意:鏈?zhǔn)叫Ч梢宰屇愣啻吸c擊,
// 當(dāng)鼠標(biāo)離開后,
// 每次點擊的動畫可以依次觸發(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選項
mode: 'vertical', // 默認(rèn)是'vertical'
//wrapper: this.element, // 默認(rèn)是this.element
// Fx選項
//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選項
//mode: 'vertical', // 默認(rèn)是'vertical'
wrapper: slideWrap // 默認(rèn)是this.element
}).hide();
$('openE').addEvent('click', function(){
slideVarE.toggle();
});
});

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

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

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

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

包含你開始所需要的所有東西。

相關(guān)文章

  • 基于mootools 1.3框架下的圖片滑動效果代碼

    基于mootools 1.3框架下的圖片滑動效果代碼

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

    Mootools 1.2教程 事件處理

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

    通過Mootools 1.2來操縱HTML DOM元素

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

    MooBox 基于Mootools的對話框插件

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

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

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

    Mootools 1.2教程 定時器和哈希簡介

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

    Mootools 1.2教程 函數(shù)

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

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

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

    Mootools 1.2教程 滾動條(Slider)

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

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

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

最新評論

漳平市| 石柱| 临江市| 兴安盟| 金华市| 汉寿县| 鱼台县| 康保县| 林芝县| 建阳市| 满洲里市| 富川| 尼勒克县| 沙田区| 项城市| 秭归县| 蓬莱市| 牟定县| 曲水县| 白银市| 临夏市| 巴林左旗| 绍兴市| 沭阳县| 织金县| 习水县| 抚州市| 华宁县| 伽师县| 建阳市| 漯河市| 环江| 禹城市| 塘沽区| 合川市| 南宫市| 海盐县| 涟源市| 和田县| 和平区| 阿鲁科尔沁旗|