Задать вопрос

Как показать блоки только один раз?

Есть блок в котором есть картинки. Когда пользователь нажимает на картинку ему показывает три блока с текстом.

<script>
$('.stickers_block img').on('click', function () {
    var feedback = 'какой-то текст 1 ';
    var twofeedback = 'какой-то текст 2';
    var threefeedback = 'какой-то текст 3 ';
    setTimeout(function() { 
        setTimeout(function() { 

        $('.message-screen').append('<div class="user_two_message col-xs-12 col-sm-12"><div class="received-text"><p>'+feedback+'</p></div></div>');
        
        $('.message-screen').append('<div class="user_two_message col-xs-12 col-sm-12"><div class="received-text"><p>'+twofeedback+'</p></div></div>');
        
    $('.message-screen').append('<div class="user_two_message col-xs-12 col-sm-12"><div class="received-text"><p>'+threefeedback+'</p></div></div>');
        $('.typing_block').hide();
  },1000)
        $('.message-screen').append('<div class="user_two_message col-xs-12 col-sm-12"><div class="typing_block"></div></div>');
    }, 500);
  });  
</script>


Как сделать так чтобы эти блоки показывало лишь один раз. То есть пользователь нажал первый раз на любую картинку ему показали эти три блока. Нажал второй, третий и тд раз и эти блоки уже не показывались

Это действие не должно запоминаться (после перезагрузки страницы можно все сначала)
  • Вопрос задан
  • 315 просмотров
Подписаться 1 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@patsooo Автор вопроса
var flag = false;
$('.stickers_block img').on('click', function () {
    if (flag) return;
    flag = true;
    var feedback = 'какой-то текст 1 ';
    var twofeedback = 'какой-то текст 2';
    var threefeedback = 'какой-то текст 3 ';
    setTimeout(function() { 
        setTimeout(function() { 
        ...
        },1000) 
    ...
    }, 500);
});
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы