Nadal uczę się jquery.manipulowanie elementem css z jquery
Chcę, aby kod, jeśli kliknę na przycisk 2 DIV ruszy jednocześnie, a tło będzie nakładka przez innego div z opacity
0,5
więc po kliknięciu na menu przycisk, menu z prawej i lewej stronie menu w lewo iw prawo odpowiednio
następnie z-index
i opacity
z div class="overlay"
zostaną zmienione, a następnie sprawdzić, czy #circleMenu
ma .open
klasę, jeśli nie to dodaj .open
klasa i przenieść #left
i #right
div
używam zwyczaj określoną funkcję, aby go uruchomić onclick="show()"
kod nie działa, kiedy sprawdzić problemu i błędu na konsoli mówi:
SyntaxError: Unexpected token. Uncaught ReferenceError: show is not defined
EDYTOWANIE
dzięki @Tirthraj Barot, błąd zniknął.
nadal moje pytanie pozostaje, spodziewam się, że kod, aby to zrobić, po kliknięciu na przycisk:
zmienić krycie nakładki tła i z-index tak będzie nakładanie ciało
przesuń 2 divs wewnątrz kręgu jednocześnie
Spodziewałem się, że zostanie wykonane w tym samym czasie, ale w rzeczywistości tak nie jest. Pierwszy raz kliknięciu na przycisku, tylko tło jest nakładka, po raz drugi, nakładka tło znika ale DIV przesuwa
function show() {
$(".overlay").css("z-index", 1);
$(".overlay").css("opacity", 1);
if ($("#circleMenu").hasClass("open") == true) {
$("#circleMenu").removeClass("open");
$("#left").css("left", "-100px");
$("#right").css("right", "-100px");
} else if ($("#circleMenu").hasClass("open") == false) {
$("#circleMenu").addClass("open");
$("#left").css("left", "100px");
$("#right").css("right", "100px");
}
}
$(".show").on("click", function() {
show();
});
body {
\t margin : 0;
\t padding : 0;
\t width : 100%;
\t height : 100%;
}
.overlay {
\t width : 100%;
\t height : 100%;
\t background-color : gray;
\t opacity : 0;
\t z-index : -1;
\t position : absolute;
\t transition : all 1s;
}
.kontainer-menu {
\t width : 50%;
\t height : 30%;
\t margin : auto;
\t position : relative;
\t z-index : 2;
\t top : 40%;
}
#circleMenu {
\t width : 200px;
\t height : 200px;
\t border-radius : 50%;
\t background-color : red;
\t z-index : 3;
\t position : relative;
\t left : 35%;
}
#left {
\t width : auto;
\t position : absolute;
\t background-color : green;
\t top : 90px;
\t left : 100px;
}
#right {
\t width : auto;
\t position : absolute;
\t background-color : teal;
\t top : 90px;
\t right : 100px;
}
<div class="overlay"></div>
<div class="kontainer-menu">
<button onclick="show()">Menu</button>
\t <div id="circleMenu">
\t \t <div id="left"> menu Left</div>
\t \t <div id="right"> menu Right</div>
\t </div>
</div>
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
o tak nie widziałem ... – Citra45Abadi
dobry połów, nie widziałem tego! –
dziękuję działa teraz. ale inne pytanie, kiedy raz kliknąłem przycisk, po prostu pokazuje nakładkę, a następnie klikam przycisk ponownie, teraz divy się poruszają. dlaczego nie można go wykonać w tym samym czasie? – Citra45Abadi