У меня есть боковая меню с установленным стилем margin-left: -240px;.Как при клике сделать чтобы она выдвигалась и при втором клике задвигалась???
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Chat</title>
<link rel="stylesheet" href="style/style.css">
<style>
.mainmenu{
width: 250px;
height: 638px;
background-color: gray;
margin-left: -240px;
transition-property: margin-left;
transition-duration: 2s;
</style>
</head>
<body class="chatbg">
<div class="header"></div>
<div class="mainmenu" id="menu" onclick="scrolMenu()"></div>
<div class="chat"></div>
<script type="text/javascript">
function scrolMenu() {
var main = document.getElementById('menu');
main.style.marginLeft = "0px";
};
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Chat</title>
<link rel="stylesheet" href="style/style.css">
<style>
.mainmenu {
width: 250px;
height: 638px;
background-color: gray;
margin-left: -240px;
transition-property: margin-left;
transition-duration: 2s;
</style>
</head>
<body class="chatbg">
<div class="header"></div>
<div class="mainmenu" id="menu" onclick="scrolMenu()"></div>
<div class="chat"></div>
<script type="text/javascript">
var isClicked = false;
function scrolMenu() {
var main = document.getElementById('menu');
if (!isClicked) {
main.style.marginLeft = "0px";
isClicked = true;
} else {
main.style.marginLeft = "-240px";
isClicked = false;
}
};
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Chat</title>
<link rel="stylesheet" href="style/style.css">
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
</head>
<body class="chatbg">
<div class="header"></div>
<div class="mainmenu" id="menu" onclick="scrolMenu()"></div>
<div class="chat"></div>
<script type="text/javascript">
function scrolMenu() {
$('#menu').toggleClass('active');
};
</script>
<style>
.mainmenu{
width: 250px;
height: 638px;
background-color: gray;
margin-left: -240px;
transition-property: margin-left;
transition-duration: 2s;
}
.mainmenu.active{
margin-left: 0;
}
</style>
</body>
</html>
Вот ответ на ваш вопрос.
function scrolMenu() {
var main = document.getElementById('menu');
main.classList.toggle("menu0");
};
#menu{
margin-left:50px;
}
#menu.menu0{
margin-left: 0;
}
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Chat</title>
<link rel="stylesheet" href="style/style.css">
</head>
<body class="chatbg">
<div class="header"></div>
<div class="mainmenu" id="menu" onclick="scrolMenu()">MARGIN MENU</div>
<div class="chat"></div>
</body>
</html>
Лучше не менять сам стиль с помощью javascript
.
А дать стиль отдельному классу, и когда элемент имеет этот класс то на него подействует определенный стиль, а если нет то будет изначальный стиль.
А с помощью javascript
просто добавить и удалить класс.
И что бы каждый раз не морочить голову есть ли класс у элемента или нет
. (что бы понять добавить при клике или удалить) есть такой хороший метод toggle
.
Берем элемент.(Это вы делали), потом возьмем его классы с помощью classList
, А после этого применяем метод ՝toggle՝.
Этот метод добавляет класс если его нет, а если есть удаляет.
сделайте чтобы по клику добавлялся/удалялся какой-нибудь класс, а дальше если есть класс margin-left: 0px;
иначе margin-left: -240px;
также под этот класс можно подвязать и другие изменения стилей:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Chat</title>
<link rel="stylesheet" href="style/style.css">
<style>
.mainmenu {
width: 250px;
height: 638px;
background-color: gray;
margin-left: -240px;
transition-property: margin-left;
transition-duration: 2s;
}
.mainmenu.show {
margin-left: 0px;
}
</style>
</head>
<body class="chatbg">
<div class="header"></div>
<div class="mainmenu" id="menu" onclick="scrolMenu()"></div>
<div class="chat"></div>
<script type="text/javascript">
var isClicked = false;
function scrolMenu() {
var main = document.getElementById('menu');
main.classList.toggle("show");
};
</script>
</body>
</html>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Задача состоит в том, чтобы часть выделенная красным цветом двигалась по по основной траектории http://joxiru/gmvOPW3fxwb4j2
Столкнулся с проблемой - как в textarea вставлять текст туда, где находится курсор по нажатию кнопкиЭто может быть bb-code или подготовленный текст
Во-первых, одинаковые ключи у объекта не бывают - побеждает последний: