Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Мини-слайдер переключается лишь раз (https://javascript.ru/forum/dom-window/80633-mini-slajjder-pereklyuchaetsya-lish-raz.html)

Иса Мирзоев 04.07.2020 21:26

Мини-слайдер переключается лишь раз
 
Приветствую. Помогите, пожалуйста, с проблемой. Собственно, суть в описании: 1 раз картинка переключается а потом - нет. Спасибо.
п.с. понимаю, что функция отрабатывает 1 раз, проходит проверку и затухает, но по идее новый клик должен заставлять функцию снова работать, получать отрицательный флаг, не проходить проверку и менять второй раз картинку, но почему-то этого не случается...

var inf = document.getElementById('img')

    inf.onclick = function func(){

    var flag = true

    if(flag){
        inf.src = './img/image-reverse.jpg'
        flag = false
    } else{
        inf.src = './img/image.jpg'
        flag = true
    }
}


HTML прикладываю, если нужен

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="style.css">
    <title>Document</title>
</head>
<body>
    <img src="./img/image.jpg" id='img' alt="">
    <script src="script.js"></script>
</body>
</html>

Иса Мирзоев 04.07.2020 21:41

Получилось только что, задал абсолютный путь картинкам. Код прикладываю. Но все же как реализовать мой вариант с флагами на чистом js? А-то пока это будет лишь на моем компе работать) Заранее спасибо)

var inf = document.getElementById('img')

    inf.onclick = function func(){
    if(inf.src === 'file:///G:/*/img/image.jpg'){
        inf.src = './img/image-reverse.jpg'
    } else{
        inf.src = './img/image.jpg'
    }
}

рони 05.07.2020 10:33

Цитата:

Сообщение от Иса Мирзоев
как реализовать мой вариант с флагами на чистом js?

вынести создание переменной из функции. 1 код строка 5, перенести в строку 2.

Иса Мирзоев 05.07.2020 18:49

Цитата:

Сообщение от рони (Сообщение 526740)
вынести создание переменной из функции. 1 код строка 5, перенести в строку 2.

Большое спасибо) Как приятно, что есть знающие люди, которые подскажут) Приятного Вам дня)


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