将鼠标悬停在另一个元素上时删除一个<div>元素

时间:2019-02-12 09:01:53

标签: javascript html css web

我在编写网站时遇到问题。

我要做的是一旦用户将鼠标悬停在照片按钮上,就使.split类内的左侧菜单消失。

当前,它实际上不起作用(代码不在实际的网站上,我正在我自己的文本编辑器中尝试此操作,并且似乎不起作用。)

下面是我要实现的代码(我读的应该可以)

#button:hover .split{
  width: 0%;
}

.left {
  animation-delay: 1s;
  left: 0;
  background-color: #111;
}

此外,我是否可以实现animate.css对菜单进行动画处理?

下面是我当前的.split类的代码

.split {
    height: 100%;
    width: 40%;
    position: fixed;
    z-index: 1;
    top: 0;
    overflow-x: hidden;
    padding-top: 0px;
}

HTML代码:

 <!---Main Site Slide in--->
   <div class="split left wow fadeInLeftBig animated" data-wow-duration="2s">
     <div class="centered wow ">
       <h1>####</h1>

       <p> ### </p>

    <p> #### </p>
  <div class='divider'></div>
  <div class='container'>
    <a href="" style="text-decoration:none"><h2>Previous Projects: </h2></a>

    <ul id="projects">
      <li>-Selected project 1-</li>
      <li>-Selected project 2-</li>
      <li>-Selected project 3-</li>
    </ul>
  </div>

1 个答案:

答案 0 :(得分:5)

使用:hover时,+后面的div / id应该是#button的子元素(在div / id内部)

您最好使用jQuery向您要实现的Div添加一个类。

$( ".photos" ).hover(
  function() {
    $(  ".menu" ).addClass( "hover" );
  }, function() {
    $(  ".menu" ).removeClass( "hover" );
  }
);
body{
  display:inline-flex;
}

div {
  width:200px;
  height:200px;
  opacity:1;
  -webkit-transition: all 2s; /* Safari */
  -moz-transition: all 2s; /* Mozilla firefox */
  -ms-transition: all 2s; /* Google chrome */
  transition: all 2s;
}
.menu {
  background-color:red;
  position:relative;
  left:0px;
}
.photos {
  background-color:blue;
}
.hover {
  /*width:0px; You could do width:0; or just move the object out of view*/
  opacity:0;     
  left:-200px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="menu">menu </div>
<div class="photos">photos </div>