За последние 24 часа нас посетили 62302 программиста и 3057 роботов. Сейчас ищут 1329 программистов ...

Вставка php в код html

Тема в разделе "PHP для новичков", создана пользователем jKPQ17, 16 апр 2020.

  1. Artur_hopf

    Artur_hopf Старожил

    С нами с:
    7 май 2018
    Сообщения:
    2.264
    Симпатии:
    405
    И к каждому своему js событию вешаешь делегирование
    Код (Javascript):
    1. document.addEventListener('DOMContentLoaded', function()
    2. {
    3.  
    4.     document.addEventListener('click', function(event)
    5.     {
    6.      
    7.         var target = event.target;
    8.  
    9.         var id = target.getAttribute('id'),
    10.             video = document.querySelector('#video-article');
    11.  
    12.         if(id == '#knopka1')
    13.         {
    14.             getAjax('japan/video-article/ohsawa1.txt', function(data){
    15.  
    16.                 video.innerHTML = data;
    17.             });
    18.         }
    19.  
    20.         if(id == '#knopka2')
    21.         {
    22.             getAjax('japan/video-article/ohsawa2.txt', function(data){
    23.  
    24.                 video.innerHTML = data;
    25.             });
    26.         }
    27.     })
    28. })
    29.  
    30.  
    31. function getAjax(url, success) {
    32.     var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');
    33.     xhr.open('GET', url);
    34.     xhr.onreadystatechange = function() {
    35.         if (xhr.readyState>3 && xhr.status==200) {success(xhr.responseText);}
    36.         if (xhr.status==500) {
    37.             if( xhr.responseText.length !== 0 ){
    38.                 console.log( xhr.responseText );
    39.             }
    40.         }
    41.     };
    42.     xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
    43.     xhr.send();
    44.     return xhr;
    45. }
    И не плоди id, сделай один класс. Добавь ему какой нибудь атрибут. И при нажатии смотри на этот трибут
     
  2. jKPQ17

    jKPQ17 Новичок

    С нами с:
    16 апр 2020
    Сообщения:
    19
    Симпатии:
    0
    я подредактирвал . Это скрипт отлично работает, но вот незадача...
     
  3. Artur_hopf

    Artur_hopf Старожил

    С нами с:
    7 май 2018
    Сообщения:
    2.264
    Симпатии:
    405
    Смотри, ты можешь его уменьшить так, не плоди id
    HTML:
    1. <button class="k_video" url='japan/video-article/ohsawa1.txt'>knopka1</button>
    2. <button class="k_video" url='japan/video-article/ohsawa2.txt'>knopka2</button>
    3. <button class="k_video" url='japan/video-article/ohsawa3.txt'>knopka3</button>
    4. <button class="k_video" url='japan/video-article/ohsawa4.txt'>knopka4</button>
    5. <button class="k_video" url='japan/video-article/ohsawa5.txt'>knopka5</button>
    6. <button class="k_video" url='japan/video-article/ohsawa6.txt'>knopka6</button>
    7. <button class="k_video" url='japan/video-article/ohsawa7.txt'>knopka7</button>
    8. <button class="k_video" url='japan/video-article/ohsawa8.txt'>knopka8</button>
    9. document.addEventListener('DOMContentLoaded', function()
    10. {
    11.  
    12.     document.addEventListener('click', function(event)
    13.     {
    14.         var target = event.target;
    15.  
    16.         var k_video = target.classList.contains("k_video"),
    17.             video = document.querySelector('#video-article');
    18.  
    19.         if(k_video)
    20.         {
    21.             var url = target.getAttribute('url');
    22.  
    23.             getAjax(url, function(data){
    24.                 video.innerHTML = data;
    25.             });
    26.         }
    27.     })
    28. })
    29. </script>
     
  4. jKPQ17

    jKPQ17 Новичок

    С нами с:
    16 апр 2020
    Сообщения:
    19
    Симпатии:
    0
    если можно кортко, то что в результате вашего кода получится на выходе
     
  5. Artur_hopf

    Artur_hopf Старожил

    С нами с:
    7 май 2018
    Сообщения:
    2.264
    Симпатии:
    405
    Короче дальше сам)
    --- Добавлено ---
    Ты не плодишь под каждый id событие, одно событие на класс. Считываем урл с кнопки. Кода меньше. Ты можешь хоть сотню кнопок создать, js код не увеличится.
    Выше продемонстрировал
     
  6. jKPQ17

    jKPQ17 Новичок

    С нами с:
    16 апр 2020
    Сообщения:
    19
    Симпатии:
    0
    Спасибо, начну анализировать Ваш ответ
     
  7. jKPQ17

    jKPQ17 Новичок

    С нами с:
    16 апр 2020
    Сообщения:
    19
    Симпатии:
    0
    Еще раз спасибо за ваш ответ
    Я проанализировал
    В меню, код которого я не навел, url уже занят другой загрузкой из другой базы.
    Я одним кликом делал две загрузки. Через url грузился видик во iframe, a к ul я цеплял мой любимый id типа =knopka1.
    Все отлично получается.
    А нельзя и ваш код сделать без url.
    Код из строки меню могу выслать
     
  8. Artur_hopf

    Artur_hopf Старожил

    С нами с:
    7 май 2018
    Сообщения:
    2.264
    Симпатии:
    405
    @jKPQ17 давай сам, подумай и сделай.
     
  9. jKPQ17

    jKPQ17 Новичок

    С нами с:
    16 апр 2020
    Сообщения:
    19
    Симпатии:
    0
    не получается. Я проверил ваш код. Поменял свое меню, по которому одним кликом загружалась по Ajax статья, а по урлу видик, точно на ваше меню, чтобы грузить только статью, и поменял скрипт своей конструкции ajax на ваш. Статья не грузится вообще типа код не рабочий.
     
  10. jKPQ17

    jKPQ17 Новичок

    С нами с:
    16 апр 2020
    Сообщения:
    19
    Симпатии:
    0
    На сайте, где значится <html lang="ru"> надо разместить англоязычную статью. Не цитату в абзаце, не абзац, а полновесную отдельную статью с заголовками и абзацами. Как обозначить для нее lang : в каждом абзаце и заголовке или только в теге article или как-то по другому?