輕松實現(xiàn)jquery手風琴效果
為大家講解的JQuery動畫特效為手風琴,廢話不多說,先看最終實現(xiàn)效果圖。

一、實現(xiàn)原理分析

對應的立體圖:

二、 HTML代碼分析
<body>
<div id="container">
<ul id="content">
<li class="first">
<h3>真</h3>
<div><img src="images/0.jpg"/></div>
</li>
<li class="second">
<h3>的</h3>
<div><img src="images/1.jpg"/></div>
</li>
<li class="third">
<h3>愛</h3>
<div><img src="images/2.jpg"/></div>
</li>
<li class="forth">
<h3>你</h3>
<div><img src="images/4.jpg"/></div>
</li>
</ul>
</div>
</body>
1. id為container的div就是上面分析中的紅色區(qū)域。
2. id為content的ul就是用來存放所有的li。
3. 每個li就是一個紅色區(qū)域與對應圖片的組合。
三、CSS代碼分析
*{margin: 0; padding: 0;}
img{
border:0;
}
#container
{
width:680px;
height: 300px;
margin: 100px auto;
position: relative;
border:3px solid red;
overflow: hidden;
}
#container #content
{
list-style: none;
}
#container #content li{
width:590px;
height:300px;
position: absolute;
}
#container #content li.second{
left:590px;
}
#container #content li.third{
left:620px;
}
#container #content li.forth{
left:650px;
}
#container #content li h3{
float:left;
width: 24px;
height:294px;
border:3px solid blue;
background-color: yellow;
cursor: pointer;
}
#container #content li div{
float: left;
width: 560px;
height:300px;
}
1. *和img標簽用來去除系統(tǒng)默認的間隙等效果。
2. #container就是在上面分析的可視區(qū)域,所以它的尺寸是 680 * 300,并且它是所有子元素的容器,所以它是相對定位(position: relative)。
3. #container #content就是去除掉ul默認的小圓點效果。
4. 所有的li采用絕對定位,并且它們的大小均為 590 * 300, 然后設(shè)置后面li的left值,并且設(shè)置li的h3(黃色區(qū)域)屬性漂浮。
當上面所有的css樣式設(shè)置完畢以后,最終呈現(xiàn)的效果就是分析圖中的效果。
四、JQuery代碼分析
手風琴的js交互代碼其實非常簡單,就是實時的改變對應li的絕對位置的left值就可以了,代碼如下:
$(function(){
$("#container #content li.first h3").mouseenter(function(){
$("#container #content li.second").stop().animate({"left":590}, 1000);
$("#container #content li.third").stop().animate({"left":620}, 1000);
$("#container #content li.forth").stop().animate({"left":650}, 1000);
});
$("#container #content li.second h3").mouseenter(function(){
$("#container #content li.second").stop().animate({"left":30}, 1000);
$("#container #content li.third").stop().animate({"left":620}, 1000);
$("#container #content li.forth").stop().animate({"left":650}, 1000);
});
$("#container #content li.third h3").mouseenter(function(){
$("#container #content li.second").stop().animate({"left":30}, 1000);
$("#container #content li.third").stop().animate({"left":60}, 1000);
$("#container #content li.forth").stop().animate({"left":650}, 1000);
});
$("#container #content li.forth h3").mouseenter(function(){
$("#container #content li.second").stop().animate({"left":30}, 1000);
$("#container #content li.third").stop().animate({"left":60}, 1000);
$("#container #content li.forth").stop().animate({"left":90}, 1000);
});
});
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助。
相關(guān)文章
Javascript使用uploadify來實現(xiàn)多文件上傳
本篇文章主要介紹了Javascript使用uploadify來實現(xiàn)多文件上傳,具有一定的參考價值,有需要的可以了解一下。2016-11-11
Nautil 中使用雙向數(shù)據(jù)綁定的實現(xiàn)
這篇文章主要介紹了Nautil 中使用雙向數(shù)據(jù)綁定的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-10-10
javascript中的window.location.search方法簡介
window.location.search方法是截取當前url中“?”后面的字符串,示例如下,感興趣的朋友可以參考下2013-09-09
JavaScript數(shù)據(jù)結(jié)構(gòu)之單鏈表和循環(huán)鏈表
這篇文章主要介紹了JavaScript數(shù)據(jù)結(jié)構(gòu)之單鏈表、循環(huán)鏈表,詳細的介紹了JavaScript如何實現(xiàn)單鏈表、循環(huán)鏈表,有興趣的可以了解一下2017-11-11
JavaScript設(shè)計模式組合設(shè)計模式案例
這篇文章主要介紹了JavaScript設(shè)計模式組合設(shè)計模式案例,組合設(shè)計模式是用于將多個部分通過組合的方式行成一個整體,更多相關(guān)內(nèi)容需要的小伙伴可以參考一下2022-06-06

