Ответы пользователя по тегу HTML
  • Как сделать такие границы (HTML, CSS)?

    @sainttechnik
    Frontend developer, в прошлом админ
    Можно использовать множественный box-shadow: jsfiddle.net/86ge1ffg/1
    Ответ написан
    Комментировать
  • Почему в изсходном коде не показывает div элемент?

    @sainttechnik
    Frontend developer, в прошлом админ
    Судя по тому, что у меня все открылось, могу предположить, что это браузерный кеш. Попробуйте открыть страницу в хроме, открыть панель элементов и в настройках консоли разработчика установить опцию "Отключить кеш". Затем перезагрузите страницу.
    Ответ написан
    Комментировать
  • Вопрос по JS (jQuery) + HTML, как можно это решить по описанию?

    @sainttechnik
    Frontend developer, в прошлом админ
    Вроде под условия задачи подходит:
    var word = ['p', 'r', 'o', 'b', 'l', 'e', 'm'];
    
    $('div').on('click', function(e){
        e.stopPropagation();
        writeLetter.apply(this);
    });
    
    $('a').on('click', function(e){
        e.stopPropagation();
        $.each(word, function(index, letter){
            $('[data-index="' + letter + '"]').trigger('click');
        });
    });
    
    function writeLetter() {
        console.log( $(this).data('letter') );
    }
    Ответ написан
    Комментировать
  • Функция hide. Реакция на событие в JavaScrypt?

    @sainttechnik
    Frontend developer, в прошлом админ
    Если вторая страница на том же домене и открывается через
    var page2 = window.open('url', 'name');
    то у вас во-первых есть доступ с первой страницы к документу второй через page2.document,
    а во-вторых - со второй страницы есть доступ к документу первой через window.opener.documеnt.
    Соответственно по событию на второй странице можно выполнять любые манипуляции с первой и наоборот.
    Например при наличии jQuery:
    $('#some_id', window.opener.document).hide();
    Или на чистом js:
    window.opener.document.getById('some_id').style.display = 'none';

    Если делать совсем правильно, то лучше со второй страницы вызывать событие на первой, а на первой слушать эти события и выполнять соответствующие изменения.
    PS: Слушать события одного окна с другого не стоит, поскольку при рефреше страницы слушатели событий отвалятся.
    Ответ написан
    Комментировать
  • Как сделать функцию playaudio и повесить на onclick?

    @sainttechnik
    Frontend developer, в прошлом админ
    Нужно получать элемент не по индексу, а соседнее с кнопкой воспроизведения аудио. Если сохранить структуру HTML, то воспроизведение можно сделать как-то так:

    var playingAudio;
    $(document.body).on('click', '.mainAudioPlay', function() {
        var playButton = $(this),
            pauseButton = playButton.siblings('.mainAudioPause'),
            audioToPlay = playButton.closest('.mainPostAudio').find('audio').get(0);
            
        if (playingAudio) {
            playingAudio.pause();
        }
        
        audioToPlay.play();
        playingAudio = audioToPlay;
        playButton.hide();
        pauseButton.show();
    });
    
    $(document.body).on('click', '.mainAudioPause', function() {
        var pauseButton = $(this),
            playButton = playButton.siblings('.mainAudioPlay'),
            audioToPause = playButton.closest('.mainPostAudio').find('audio').get(0);
    
        audioToPause.pause();
        pauseButton.hide();
        playButton.show();
    });
    
    $(document.body).on('timeupdate', '.audioPlayer', function() {
        var audioBlock = $(this).closest('.mainPostAudio'),
            progressBar = audioBlock.find('.audioProgress'),
            audioTime = audioBlock.find('.audioTime'),
            track_length = this.duration,
            secs = this.currentTime,
            tcMins = parseInt(secs / 60, 10),
            tcSecs = parseInt(secs - (tcMins * 60), 10),
            progress = (secs / track_length) * 100;
            
        progressBar.css({'width' : progress + "%"});      
        audioTime.html(tcMins + ':' + ( '0' + tcSecs).slice(-2) );
    });

    Обработчики событий лучше вешать не на каждое аудио, а на весь контейнер с делегированием. Элемент, на котором сработало событие все равно будет доступен в обработчике как this.
    Рекомендую почитать рекомендации для улучшения качества кода.
    Ответ написан
  • Как сделать большое фоновое изображение как единственный элемент главной страницы?

    @sainttechnik
    Frontend developer, в прошлом админ
    Скорее всего вам поможет карта изображения: htmlbook.ru/html/map
    Ответ написан
    Комментировать