2011-05-05 36 views

回答

2

特別看着蘋果滑塊有一些事情正在進行。

他們使用JS鉤入click事件,當他們這樣做時,他們正在改變<ul>上的一個屬性,這反過來改變了CSS,它使用CSS3轉換提供動畫。

所以,在看看到代碼:

下面是HTML代碼的片段。您可以看到exitedentered屬性。這是當需要一個新的部分(通過的onclick)

<ul class="ul-slider" page="1" style="width: 970px; margin-top: 0px; margin-right: 5px; margin-bottom: 0px; margin-left: 5px; " exited="previous"> 
    <li class="pb-macbook" exited="previous">...</li> 
    <li class="pb-macbookpro" exited="previous">...</li> 
    ... 
</ul> 
... 
<ul class="ul-slider" page="3" style="width: 930px; margin-top: 0px; margin-right: 25px; margin-bottom: 0px; margin-left: 25px; " entered="next"> 
    <li class="pb-keyboard started" entered="next">...</li> 
    <li class="pb-magicmouse started" entered="next">...</li> 
    <li class="pb-magictrackpad started" entered="next">...</li> 
    ... 
</ul> 

然後,尋找到了CSS(http://images.apple.com/global/styles/productbrowser.css),我們看到的是提供了一個小片斷許多CSS3 transition/transforms properties and styles

使用JavaScript的變化,你可以看到不同的enteredexited屬性值如何影響轉換,而轉換則由轉換生成動畫。

.productbrowser ul.exited , 
.productbrowser ul[exited] { display:none; } 
.productbrowser li[exited] , 
.productbrowser li[toenter] { -webkit-animation-name:none; -webkit-animation-duration:0; 

.productbrowser li[exited="next"] , 
.productbrowser li[toenter="next"], 
.productbrowser li[enter="next"] { -webkit-transform:translate3d(3000px, 0, 0); } 

他們縮小了JS,所以我不能真正告訴你這是如何工作的,但它並不太複雜。

我希望這是有道理的,並有幫助:)

+0

是的,它確實有道理,我最初粘貼了錯誤的網址,我正在尋找這個效果:http://www.apple.com/imac/然而,知道你在那裏展示的內容,其實我應該能夠辨別如何用上面給我看的東西做另一個效果。 – 2011-05-05 10:53:20

-2

在互聯網上有很多JQuery JavaScripts,所以你可以使用它來實現這種類型的滑塊。而雅JQuery有很多。

你也可以使用JavaScript文件獲取這種類型的東西。

您可以訪問Menus & Navigation動力驅動器瞭解更多信息。你也可以得到你可以找到你正在尋找的東西的來源。

+0

這不是菜單。 JQuery和MooTools(我的首選)與我正在尋找的類似,但它們都以相同的方向滑動元素。 – 2011-05-05 05:12:48

+0

你必須採取JavaScript,因爲你不能在CSS上有點擊事件。 – Ankit 2011-05-05 05:18:49

+0

他想知道動畫是如何工作的,而不是點擊事件的工作原理。我-1這個答案,因爲它沒有解決這個問題,並沒有幫助。 – 2011-05-05 05:22:06