JQuery не выполняет функцию, как ожидалось - PullRequest
0 голосов
/ 01 июля 2011

Я уверен, что у меня есть некоторые проблемы с моим кодом. Я не уверен, как смешать сырой JavaScript с моим JQuery. Вот соответствующий код в моем файле JS:

$(document).ready(function() {
    $('#show-video').click(function(event) {
        jQuery('.player-hold').slideDown("slow");
        $('#book').slideDown('slow', function() {
            playVideo();
        });
        jQuery('.features').slideUp("slow");
    }); 
});

function onPlayerStateChange(newState) {
    if(newState == 0) {
        jQuery('.player-hold').slideUp("slow");
        jQuery('.features').slideDown("slow");
    }
}

function playVideo() {
    if (ytplayer) {
        ytplayer.playVideo();
    }
}

function onYouTubePlayerReady(playerId) {
    ytplayer = document.getElementById("ytPlayer");
    ytplayer.addEventListener("onStateChange", "onPlayerStateChange");
    ytplayer.setPlaybackQuality("highres");
    ytplayer.cueVideoById("PoTa2FTmDWk");
}

В основном у меня есть div с ссылкой для просмотра видео. При нажатии на ссылку отображается видео (ранее не отображалось), а div, содержащий ссылку, скрывается. Это отлично работает. Последняя часть - это когда видео заканчивается слайд-слайдом, и возвращается контейнер div, и все это работает. Проблема в том, что после показа видео я хочу выполнить воспроизведение видео. Это не работает.

Я уверен, что это легко исправить / ошибка nooby.

PS. Если я удалю jquery и добавлю функцию playVideo (); по щелчку на якорь, он воспроизводит видео, как и ожидалось, но теряет функцию скольжения.

1 Ответ

0 голосов
/ 01 июля 2011

Вы используете нечетное сочетание $( и jQuery( в вашем коде. Вы должны выбрать один или другой. $( предпочтительнее, если оно не конфликтует с другой библиотекой. В случае конфликта просто наберите jQuery( и используйте noconflict () .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...