Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   не так работает событие click (https://javascript.ru/forum/events/73787-ne-tak-rabotaet-sobytie-click.html)

ghost666 15.05.2018 11:44

не так работает событие click
 
всем привет!

есть div
<div class="menu-o">

ему присваивается класс
TweenMax.set('.menu-o', {className: '+=openmenu'});

и по этому классу событие
$('.openmenu').click(function() {

        TweenMax.to('.blackfonmenu' , 1, {transform: 'translateY(0)'});
		TweenMax.set('.menu-o', {className: '-=openmenu'});
		TweenMax.set('.menu-o', {className: '+=closemenu'});


    });

 $('.closemenu').click(function() {
		TweenMax.set('.menu-o', {className: '+=openmenu'});
		TweenMax.set('.menu-o', {className: '-=closemenu'});
        TweenMax.to('.blackfonmenu' , 1, {transform: 'translateY(-100vh'});

    });

первая функция работает как нужно без проблем, а вторая вообще не работает. как побороть это, подскажите?
Спасибо!

Dilettante_Pro 15.05.2018 14:16

<style>
.openmenu { border:1px solid green; }
.closemenu { border:1px solid red;}
</style>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<div class="menu-o">div</div>
<script>
$('.menu-o').addClass('openmenu');

$('.menu-o').click(function() {
         var trans = $(this).hasClass('openmenu') ? 'translateY(0)' : 'translateY(-100vh)';
        $(this).toggleClass('openmenu closemenu');
         alert(trans); // TweenMax.to('.blackfonmenu' , 1, {transform: trans});

   
    });

</script>

Dilettante_Pro 15.05.2018 14:26

TweenMax.to('.blackfonmenu' , 1, {transform: 'translateY(-100vh)'});

ghost666 19.05.2018 09:57

огромное спасибо!

АндрейD 21.05.2018 21:01

Можно вопрос в вашей теме? Почему у меня выдаёт ошибку на 4-й строке? Пишет, что "а" null. (1-я строка из html) Я в тупике, вроде бы всё верно.
1. <input type="submit" value="1" id="a">
2. <script>
3. var a = document.getElementById('a');
4. a.onclick = go;
5. function go() {
6. alert(a.getAttribute('value'));
7. }
8. <script>

j0hnik 21.05.2018 22:24

АндрейD,

<input type="submit" value="1" id="a">
<script>
var a = document.getElementById('a');
a.onclick = go;
function go() {
 alert(a.getAttribute('value'));
}
</script>


может не в этом куске кода дело?

рони 21.05.2018 23:40

Цитата:

Сообщение от АндрейD
8. <script>

??? :-?

j0hnik 21.05.2018 23:48

рони,
не из за этого ведь
Цитата:

Сообщение от АндрейD
Пишет, что "а" null


рони 21.05.2018 23:56

j0hnik,
тогда строка 1 идёт после строки 8, других вариантов не знаю.

laimas 22.05.2018 06:14

Цитата:

Сообщение от АндрейD
a.getAttribute('value')

https://learn.javascript.ru/attribut...tom-properties


Часовой пояс GMT +3, время: 05:19.