Показать сообщение отдельно
  #1 (permalink)  
Старый 17.09.2018, 19:28
Профессор
Отправить личное сообщение для giwuf Посмотреть профиль Найти все сообщения от giwuf
 
Регистрация: 16.05.2017
Сообщений: 167

Почему При ajax подгрузке отрабатывает только первое условие if?
Есть фрагмент кода с ajax подгрузкой информации и вызова функции сразу после этого. Как сделать так, чтобы в случае самого первого запроса вызывалась страница приветствия, а после клика на кнопку загружалась функция с контентом. Храню значение булевой переменной в localStorage, но каждый раз почему-то загружается первый блок if и не могу перейти ко второй странице.
<style>#load {
 display: none;
 position: absolute;
 right: 10px;
 top: 10px;
 background: blue;
 width: 43px;
 height: 11px;
 text-indent: -9999em;
}</style>
<div class="panel-body" id="content"></div>

localStorage.setItem('myKey', 'true');
var localValue = localStorage.getItem('myKey');

$(function() {
  var pathToSome = 'some.php';

  $.get(pathToSome, function(data) {

    if (localValue) {
      $('#content').html("<h1>Стартовая страница</h1><p><a id='go' href="#
        ">Перейти</a></p>");

      localStorage.removeItem("myKey");

      localStorage.clear();
    } else {

      someFunction();
      console.log("Do some function");
    }

  });
  $('#go').click(function() {

    var toLoad = $(this).attr('href') + ' #content';

    $('#content').hide('fast', loadContent);

    $('#load').remove();

    $('#wrapper').append('<span id="load">LOADING...</span>');

    $('#load').fadeIn('normal');

    function loadContent() {
      $('#content').load(toLoad, '', showNewContent())
    }

    function showNewContent() {
      $('#content').show('normal', hideLoader());
    }

    function hideLoader() {
      $('#load').fadeOut('normal');
    }
    return false;

  });
});

Последний раз редактировалось giwuf, 17.09.2018 в 21:59.
Ответить с цитированием