效果如下:
html部分
<div id="ad"> <ul id="tab_left"> <li><a href="#">選項卡1</a></li> <li><a href="#">選項卡2</a></li> <li><a href="#">選項卡3</a></li> <li><a href="#">選項卡4</a></li> </ul> <ul id="tab_con"> <li><img src="2018a.png" alt=""></li> <li><img src="2018b.png" alt=""></li> <li><img src="2018c.png" alt=""></li> <li><img src="2018d.png" alt=""></li> </ul> </div>
只要分為兩部分
一部分在左邊,是放選項卡的
另一部分在右邊,是顯示圖片的
css部分
* { margin: 0; padding: 0; } #tab_left { width: 180px; height: 380px; z-index: 20; float: left; } #tab_left li { list-style-type: none; font-size: 20px; text-align: center; border-bottom: 1px solid #ccc; border-right: 1px solid #ccc; } #tab_left li a { color: #000; text-decoration: none; line-height: 60px; height: 60px; display: block; border-left: 1px solid #ccc; background: #fff; } #tab_left li a:hover { text-decoration: none; background: #f30; color: #fff; line-height: 60px; } #tab_con { width: 780px; height: 440px; overflow: hidden; float: left; z-index: 10; } #tab_con li { float: left; width: 100%; } #tab_con li img { width: 780px; height: 440px; /*border: 1px solid #ccc;*/ } #ad { width: 960px; margin: 0 auto; margin-top: 40px; border: 1px solid #999; overflow: hidden; }
左邊選項卡正當排列
右邊的圖片還是通過overflow: hidden;和寬高將圖片顯示一個圖片的高度。或者用display:none;將圖片先隱藏。
然后通過jq進行顯示或隱藏
js部分
<script> $(function(){ var tab1 = $("#tab_left").find("li"); var con1 = $("#tab_con").find("li"); tab1.hover(function(){ var index = tab1.index(this); con1.not(index).hide(); con1.eq(index).fadeIn(1000); }); }); </script>
先找到選項卡的列表,並定義tab1;
再找到圖片的列表,並定義con1;
然后再對選項卡下的每一個li設置懸浮事件函數
里面的函數,先將選項卡的每個li添加編號
然后跟圖片列表進行配對,並顯示相同編號的圖片,隱藏其他的圖片。
知識點:
函數名 | 功能 | 使用格式 | 描述 |
index() | 返回指定元素相對於其他指定元素的index位置 | $(select).index() | 相對於選擇器。如上述的第一個li,則表示:tab1.index(0); |
eq() | 選擇器選取帶有指定index值的元素 | $(select).eq(index) | index值從零開始,所以直接用數字也行,但這樣卻可以通過index的值改變而改變,達成所以li都有被選中的機會。 |
not() | 選擇器選取除了指定元素以外的所有元素。 | $(select).not(index) | 如果與eq()的值相同,那么除eq()所選擇的那個li不要,其他的都要了。 |
hide() | 隱藏HTML元素 | $(select).hide(speed,callback) | speed是時間,用於產生過度的,callback是作用函數,用於觸發后的其他執行 |
show() | 顯示HTML元素 | $(select).show(speed,callback) | 同上 |
fadeIn() | 用於淡入以隱藏的元素 | $(select).fadeIn(speed,callback) | 里面的參數同上, |