CSS переход не работает

0

Мой sidebar.css:

body
{
  margin: 0;
  padding: 0;
}
#header
{
  background-color: #577481;
  float: left;
  height: 50px;
  width: 100%;
}
#sidebar
{
  background-color: #4ea9d1;
  float: left;
  height: 100%;
  left: -200px;
  position: absolute;
  top: 50px;
  width: 200px;
}
#wrapper
{
  float: left;
  height: 100%;
  width: 100%;
}
#content
{
  background-color: #d6b141;
  float: left;
  height: 500px;
  width: 100%;
}
#sideBarButton
{
  background-image: url('SideBarButton.png');
  background-position: center;
  background-repeat: no-repeat;
  background-size: 70% 70%;
  border-radius: 25px;
  height: 50px;
  margin-left: 30px;
  width: 50px;
}

Мой index.html:

<<!DOCTYPE html>
<html>

  <head>
    <link rel="stylesheet" type="text/css" href="sidebar.css">
    <script>
      function slideIn(element1, element2, element3) {
        var elem = document.getElementById(element1);
        var elem2 = document.getElementById(element2);
        var elem3 = document.getElementById(element3);
        elem.style.transition = "left 0.5s ease-in 0s";
        elem.style.left = "0px";
        elem2.style.transition = "marginLeft 0.5s ease-in 0s";
        elem2.style.marginLeft = "200px";
        elem2.style.opacity = 0.75;
        elem3.style.backgroundImage = 'url(SideBarButtonHover.png)';
        elem3.style.backgroundColor = '#3f545d';
      }

      function slideOut(element1, element2, element3) {
        var elem = document.getElementById(element1);
        var elem2 = document.getElementById(element2);
        var elem3 = document.getElementById(element3);
        elem.style.transition = "left 0.5s ease-out 0s";
        elem.style.left = "-200px";
        elem2.style.transition = "marginLeft 0.5s ease-out 0s";
        elem2.style.marginLeft = "0px";
        elem2.style.opacity = 1;
        elem3.style.backgroundImage = 'url(SideBarButton.png)';
        elem3.style.backgroundColor = '#577481';
      }
    </script>
  </head>

  <body>
    <div id="header">
      <div id="sideBarButton" onMouseOver="slideIn('sidebar', 'content', 'sideBarButton');" onMouseOut="slideOut('sidebar', 'content', 'sideBarButton');"></div>
    </div>
    <div id="wrapper">
      <div id="sidebar">
        <ul>
          <li><a href="#">Hallo</a>
          </li>
        </ul>
      </div>
      <div id="content">Ich bin der Content</div>
    </div>
  </body>

</html>

Переход с первым элементом (боковой панелью) работает, но не со вторым (контентом). Он должен работать так, когда вы наводите курсор на боковую панель, боковая панель выйдет, и содержимое будет перемещаться одновременно вправо. Мой вопрос заключается в том, почему не происходит переход контента? Спасибо за помощь ребята!

Переход с первым элементом (боковой панелью) работает, но не со вторым (контентом). Он должен работать так, когда вы наводите курсор на боковую панель, боковая панель выйдет, и содержимое будет перемещаться одновременно вправо. Мой вопрос заключается в том, почему не происходит переход контента?

Спасибо за помощь ребята!

  • 0
    Можете ли вы положить это в jsFiddle, пожалуйста ...
Теги:
css-transitions

1 ответ

2
Лучший ответ

При настройке значения стиля в javascript ваше имя стиля должно быть camelCase'd, но если вы установите значение с помощью свойства CSS внутри него, вы должны использовать синтаксис свойства CSS. Правильно:

elem2.style.transition = "margin-left 0.5s ease-in 0s";
elem2.style.marginLeft = "200px";
  • 0
    Ах, спасибо, что ошибка новичка -.-. Но спасибо за вашу помощь, это работает сейчас! Хорошего дня :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню