Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Динамическое обновление страницы. (https://javascript.ru/forum/dom-window/67183-dinamicheskoe-obnovlenie-stranicy.html)

Saratov64 04.02.2017 11:55

Цитата:

Сообщение от рони (Сообщение 443219)
неужели у вас ie ниже 8 версии? может дело в jquery?

IE11
библиотека
<script type="text/javascript" src="/js/js-jquery-1.7.2.min.js"></script>

хотя, я за версиями jquery не думал следить ... хм

рони 04.02.2017 12:04

Saratov64,
попробуйте с этой
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

Saratov64 04.02.2017 12:09

Цитата:

Сообщение от рони (Сообщение 443223)
Saratov64,
попробуйте с этой
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

накачал сейчас, в документ добавил

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

	<script type="text/javascript" src="/js/js-jquery-1.7.2.min.js"></script>
	<script type="text/javascript" src="/js/jquery-3.1.1.min.js"></script>
	<script type="text/javascript" src="/js/jquery-3.1.1.js"></script>

сбросил настройки IE
в хроме вон, пашет, все отлично, а IE молчит, что-то ему не хватает...
молчок ((((

рони 04.02.2017 12:11

Saratov64,
убрать совсем строки 3, 4, 5

Saratov64 04.02.2017 12:16

Цитата:

Сообщение от рони (Сообщение 443226)
Saratov64,
убрать совсем строки 3, 4, 5

убрал, молчок
я еще думаю, может это настройки IIS сервера. так эмулируют, так как веб находиться на чужом IIS сервере.

Хотя, сам скрипт, работает на клиенте же, нет, значит это браузер сам молчит ....

рони 04.02.2017 12:19

Saratov64,
ждите специалиста по серверу

Saratov64 04.02.2017 12:20

сам файл index.php на сервере IIS майкрософтовский который. в нем не работает.

сейчас взял на рабочем столе файл html простой index.html скопировал туда ваш, год, все работает в IE 11 .
что мне делать ???

Saratov64 04.02.2017 12:23

Цитата:

Сообщение от рони (Сообщение 443228)
Saratov64,
ждите специалиста по серверу

Я думаю, он не сделает это ((((
хотя бы навести его на мысль, что и как, либо обновлять версию IIS надо ?

Saratov64 15.02.2017 13:27

<script>
window.addEventListener("DOMContentLoaded", function() {
    var btn = document.querySelectorAll(".btn");
    btn[0].addEventListener("click", function() {
        clearInterval(timer);
        timer = setInterval(station1, timeInterval)
    });
    btn[1].addEventListener("click", function() {
        clearInterval(timer);
        timer = setInterval(station2, timeInterval)
    });
    function station1() {
        document.querySelector("#main").innerHTML += "1111 "
    }
    function station2() {
        document.querySelector("#main").innerHTML += "2222 "
    }


    var timeInterval = 1E3;
    var timer = setInterval(station1, timeInterval)
});
  </script>


Подскажите пожалуйста, а как реализовать данную конструкицю, если меню, находиться в динамически появляющемся диве. Т.е. на момент загрузки DOM этого меню не было. Мучился мучился, но так и не разобрался, как это сделать.
добавил строку
window.addEventListener("DOMContentLoaded", function() {
     $("#menu").on('click', '.btn', function(e)
	..............
  
        });	
  });

где как мне кажется, я напримую указал див $("#menu"), в котором будет появляться кнопка. Но не работает....

торию взял
Цитата:

jQuery работает с элементами, которые были на странице на момент инициализации кода.

Если добавляются новые элементы - при помощи ajax'а или функций типа append() - то события не затрагивают их.

Как же работать с новыми созданными элементами DOM?

Оказывается для динамических элементов используется делегированная обработка событий.

Если кратко, то смысл делегирования в том, что обработчики "навешиваются" не на отсутствующие в dom элементы, а на существующий родительский объект.

Таким образом, при срабатывании соответствующего события, будет вызван данный обработчик для всех элементов, соответствующих селектору, даже если этих элементов не было во время объявлении обработчика (например при загрузке страницы).

пример можно подсмотреть тут http://www.keenself.ru/blog/jquery/s..._i_dinamichesk...
я так понял тут надо использовть //
$(this)
- текущий элемент
но я не понял, что значит указывать
родительский $(this).parent()......();

рони 15.02.2017 14:12

Saratov64,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
//console.log($('#menu').length); //проверка что элемент есть 1
$('#menu').on('click', '.btn', function(e){
alert('ура!!!')
        });
});
  </script>
</head>

<body>
<div id="menu"></div>
<script>
  window.setTimeout(function() {
  $('<span>',{text : 'Жмак', 'class':'btn'}).appendTo('#menu')
},2000)
</script>
</body>
</html>


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