2023-03-07 分類: 網(wǎng)站建設(shè)
如上圖,大致效果是鼠標移動到上方TAB標簽上時,TAB的顏色狀態(tài)發(fā)生轉(zhuǎn)移,下面的列表切換到相應(yīng)的模塊。
這里根據(jù)頁面用div布局了一下結(jié)構(gòu),如下圖:
(頁面結(jié)構(gòu)代碼和樣式代碼太多了,這里就不上傳了。)
如何通過移動鼠標到相應(yīng)的TAB位置(即上圖中 div(index-news-menu)中的 li 元素)從而切換下面的內(nèi)容模塊(即上圖中 div (index-news-list)中的 lbox 模塊)的同時改變相應(yīng)TAB標簽的顯示狀態(tài)呢?
這里我是通過jquer 中的語法控制TAB標簽中的”on”類名實現(xiàn)TAB狀態(tài)的切換效果,控制div (index-news-list)的偏移量實現(xiàn)內(nèi)容模塊切換到對應(yīng)TAB的效果的,jquery代碼如下:
<script>
//新聞切換
//獲取鼠標移動到相應(yīng)的tab標簽
$(".index-news-menu li").mouseover(function () {
//改變當(dāng)前tab的顯示狀態(tài),同時清除上一個標簽的選中狀態(tài)
$(this).addClass("on").siblings().removeClass("on");
//將選中狀態(tài)的tab標簽其相對于同胞元素的 index 位置賦值給 ni(這里ni是隨便命名的)
var ni = $(this).index();
//將內(nèi)容模塊index - news - list偏移一次的偏移量賦值給nw(這里nw是隨便命名的)
var nw = $(".index-news-list").width() / 6;
//通過當(dāng)前tab的index值計算需要偏移的距離,然后將這個值作為內(nèi)容模塊index - news - list的偏移量
$(".index-news-list").css("left", - ni * nw );
})
</script>
這樣就實現(xiàn)了上述效果了。
但是光這樣實現(xiàn)出來的切換效果是看不到通過偏移來實現(xiàn)切換的那種效果的,預(yù)想的效果是鼠標移到到TAB 上,下面的內(nèi)容模塊就相對應(yīng)的向左較緩慢的偏移到相對應(yīng)的內(nèi)容模塊。這里我是通過CSS3中的transition 屬性來實現(xiàn)緩動效果的。
transition 屬性是一個簡寫屬性,用于設(shè)置四個過渡屬性:
transition-property
transition-duration
transition-timing-function
transition-delay
在這里我是通過給div (index-news-list)添加transition:all ease .3s;這個屬性來給div (index-news-list)一個偏移時間,從而偏移的時候有個過度時間,就實現(xiàn)緩動效果了。
到這里基本就實現(xiàn)了預(yù)想的效果,但是,這么多內(nèi)容模塊網(wǎng)頁一行是排列不下的,而要想不換行的話,就需要div (index-news-list)的寬度足夠大,給足了它的寬度后,網(wǎng)頁底部就會出現(xiàn)一個橫向滾動條,很是影響網(wǎng)頁的美觀,于是我又給div(index-box)加了一個超出隱藏的屬性overflow:hidden; 這樣就保證了在網(wǎng)頁上只顯示與當(dāng)前選中的TAB對應(yīng)的(lbox)的內(nèi)容模塊了。
當(dāng)然具體效果看個人喜好了,而且是點擊TAB才切換還是和我這里一樣的鼠標劃上去就切換,都是能設(shè)置的。
粗糙之作,不妥之處望大家不吝賜教。
文章名稱:簡寫網(wǎng)站前端Tab標簽列表緩動切換效果
網(wǎng)站路徑:http://www.rwnh.cn/news10/242410.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、網(wǎng)站維護、品牌網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站改版、標簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容