溫馨提示×

JavaScript如何實現(xiàn)滑動門效果

小億
110
2023-08-01 10:38:22
欄目: 編程語言

滑動門(Sliding Doors)效果是一種常見的用于制作按鈕、導(dǎo)航菜單等元素的技術(shù)。它可以通過使用 CSS 和 JavaScript 結(jié)合實現(xiàn)。下面是一個使用 JavaScript 實現(xiàn)滑動門效果的示例:

HTML:

<div class="sliding-door">

  <div class="left"></div>

  <div class="right"></div>

  <a href="#">Button</a>

</div>

CSS:

.sliding-door {

  position: relative;

  display: inline-block;

  overflow: hidden;

}

.left, .right {

  position: absolute;

  top: 0;

  width: 50%;

  height: 100%;

  background-color: #ccc;

  transition: transform 0.3s ease-in-out;

}

.left {

  left: 0;

}

.right {

  right: 0;

  transform: translateX(100%);

}

a {

  display: block;

  width: 100%;

  height: 100%;

  line-height: 2rem;

  text-align: center;

  color: #fff;

  text-decoration: none;

}

JavaScript:

const slidingDoor = document.querySelector('.sliding-door');

const left = document.querySelector('.left');

const right = document.querySelector('.right');

slidingDoor.addEventListener('mouseenter', () => {

  left.style.transform = 'translateX(0)';

  right.style.transform = 'translateX(-100%)';

});

slidingDoor.addEventListener('mouseleave', () => {

  left.style.transform = 'translateX(-100%)';

  right.style.transform = 'translateX(100%)';

});

在上述示例中,我們首先定義了一個包含左半部分和右半部分的滑動門容器(.sliding-door)。然后使用 CSS 將左右兩個部分定位到合適的位置,并設(shè)置過渡效果。最后,通過 JavaScript 監(jiān)聽鼠標進入和離開事件,來觸發(fā)滑動門效果的展開和收起。

當鼠標進入 .sliding-door容器時,我們將左側(cè)部分移動回原始位置(translateX(0)),同時將右側(cè)部分向左移出視圖(translateX(-100%))。當鼠標離開容器時,我們將左側(cè)部分向左移出視圖(translateX(-100%)),同時將右側(cè)部分向右移出視圖(translateX(100%))。

這樣就實現(xiàn)了簡單的滑動門效果。你可以根據(jù)實際需求和設(shè)計進行調(diào)整和擴展,添加更多樣式和交互效果。

0