Ответы пользователя по тегу JavaScript
  • Как выбрать оптимальный стейт и обработать вложенные чекбоксы?

    gogowq
    @gogowq
    Ozh domosh acha ozh
    Делал недавно подобное .Вот мой php+js.

    <div class="box">
                      <div class="head">
                         <h2 class="title">Select documents to download</h2>
                         <span class="arrow">
                            <svg xmlns="http://www.w3.org/2000/svg" width="27.269" height="15.756" viewBox="0 0 27.269 15.756">
                               <path d="M925.974,98.658l-13.2-13.2a1.5,1.5,0,1,1,2.121-2.121l11.074,11.074,11.074-11.074a1.5,1.5,0,0,1,2.121,2.121Z" transform="translate(-912.339 -82.902)" fill="#dc5d37" />
                            </svg>
                         </span>
                      </div>
                      <div class="body">
    
                         <ul class="download-list">
                            <?php
                            // Check rows exists.
                            if (have_rows('download_docs')) :
                               $cnt = 0;
                               // Loop through rows.
                               while (have_rows('download_docs')) : the_row(); ?>
                                  <?php
                                  $cnt++;
    
                                  $file = get_sub_field('doc');
                                  $filedir = get_attached_file($file['id']);
                                  $filename = get_the_title($file['id']);
                                  if ($file) : ?>
                                     <li class="item">
                                        <?php
    
                                        //$newStr = end(explode('/', $file['url']));
    
                                        ?>
                                        <input value="<?php echo $filedir; ?>" type="checkbox" class="checkdownload" id="ch<?php echo $cnt; ?>">
                                        <label for="ch<?php echo $cnt; ?>"><?php echo $filename; ?></label>
    
    
                                     </li>
                                     <!--                    <a class="cheker" href="--><?php //echo $file['url']; 
                                                                                        ?>
                                     <!--">--><?php //echo $file['filename']; 
                                              ?>
                                     <!--</a>-->
                                  <?php endif; ?>
                            <?php
                               endwhile;
    
                            // No value.
                            else :
                            // Do something...
                            endif; ?>
                         </ul>
                         <div class="btn-wrap">
                            <button onclick="getCheckedCheckBoxes()" href="#download" class="btn btn-right popup-modal">Download</button>
                         </div>
                      </div>
                   </div>


    function getCheckedCheckBoxes() {
          var checkboxes = document.getElementsByClassName('checkdownload');
          var checkboxesChecked = [];
          for (var index = 0; index < checkboxes.length; index++) {
             if (checkboxes[index].checked) {
                checkboxesChecked.push(checkboxes[index].value); //
                var sendUrls = (checkboxes[index].value); // 
                //console.log(sendUrls);
             }
          }
          return checkboxesChecked;
       }
    Ответ написан
    3 комментария
  • Как вывести инфо выбранного маркера leafleat js map в своём DIV вне поп-апа?

    gogowq
    @gogowq Автор вопроса
    Ozh domosh acha ozh
    for (const site of sites) {
                      marker = new L.marker([site.lat, site.lng], {
                            icon: greenIcon,
                         })
                       
                         .on('click', function(e) {
    
                            this.setIcon(redIcon);
    
                            document.getElementById('YOURDIV').textContent = site.address
                         })
    
                         .addTo(map);
    Ответ написан
    Комментировать
  • Не работает getByteFrequencyData для stream в safari и iOS?

    gogowq
    @gogowq
    Ozh domosh acha ozh
    Полагаю что проблема в createMediaElementSource Я проверил код ниже в Mojave,всё работает

    <button id="btn">
    Start
    </button>
    
    <div id="wrapper"></div>
    
    <br />
    <canvas id="canvas" style="background:black;width:512px;height:255px;"></canvas>


    document.getElementById("btn").addEventListener("click", function() {
    var canvas = document.getElementById('canvas');
    var canvasCtx = canvas.getContext("2d");
    var audioContext = new (window.AudioContext || window.webkitAudioContext)();
    var player = document.getElementById('audio_player');
    var analyser = audioContext.createAnalyser();
    var data = new Uint8Array(analyser.frequencyBinCount);
    
    function render() {
      analyser.getByteFrequencyData(data);
    
      canvasCtx.clearRect(0, 0, canvas.width, canvas.height);
      for (var i = 0, l = data.length; i < l; i++) {
        canvasCtx.fillStyle = "#ffffff";
        canvasCtx.fillRect(i, -(canvas.height/255) * data[i], 1, canvas.height);
      }
    
      requestAnimationFrame(render);
    }
    
    requestAnimationFrame(render);
    
    var audio = new Audio();
    audio.loop = true;
    audio.autoplay = false;
    audio.crossOrigin = "anonymous";
    
    audio.addEventListener('error', function(e) {
      console.log(e);
    });
    audio.src = "https://greggman.github.io/doodles/sounds/DOCTOR VOX - Level Up.mp3";
    //audio.play();
    audio.controls = true;
    
    document.getElementById("wrapper").append(audio);
    
    audio.addEventListener('canplay', function() {
      var audioSourceNode = audioContext.createMediaElementSource(audio);
    
      audioSourceNode.connect(analyser);
      analyser.connect(audioContext.destination);
    });
    });
    Ответ написан
    1 комментарий
  • Есть ли способ вставить видео yutube/vimeo в собственный плеер тега video?

    gogowq
    @gogowq
    Ozh domosh acha ozh
    На этом можно запускать условные ролики с ютуба внутри плеера.
    Вот краткое пояснение по ютубу/вимео внутри тега video с помощью этого JS
    Ответ написан
    Комментировать
  • Как сделать элемент активным при загрузке страницы?

    gogowq
    @gogowq
    Ozh domosh acha ozh
    Жмёшь по табу после загрузки страницы:

    window.addEventListener('load', () => {
    document.querySelector('button.tablinks').click()  
    });
    Ответ написан
    Комментировать
  • Как защитить изображение на сайте?

    gogowq
    @gogowq
    Ozh domosh acha ozh
    Защита , будет работать только от нубов.
    Условный блок ПКМ и ватермарк. Хотя в большинстве случаев,врядли кто то будет прям уж сильно заморачиваться.С таким учётом,можно увидеть идею и перерисовать её. Хотя сомневаюсь что кто то будет это делать.С учёта что это всё выйдет аналогично по затратам,если просто оплатить логотип. Да и в целом,нужно мыслить в сторону ЦА с деньгами. Явно же сайт не будет в топ 3 гугла по вашим запросам и на сайт 95% юзеров будут переходить по прямой ссылке ,данной вами.По этому..лучше сортировать людей изначально)
    Ответ написан
    Комментировать