0

作業中のサイトにアコーディオンを含めました。1 つのコンテンツ領域に YouTube ビデオが含まれており、スタック オーバーフローのおかげで別のアコーディオン ヘッダーが選択されたときに正常に停止しましたが、実際の機能を理解するのに苦労しています。私は Jquery を初めて使用するので、将来のスクリプトを実装するためにこれがどのように機能するかを理解したいと考えています。

Jquery を以下に示します。

ありがとう、

メリッサ

$(".accordion h3").eq(40).addClass("active");
$(".accordion div").eq(40).show();
$(".accordion h3").click(function(){
    var video = $(".accordion h3.active").next().children();
    var src = video.attr("src");
    video.attr("src","");
    video.attr("src",src);

    $(this).next("div").slideToggle("slow")
    .siblings("div").slideUp("slow");
    $(this).toggleClass("active");
    $(this).siblings("h3").removeClass("active");
});
4

1 に答える 1

0

ここに説明的なコメントをいくつか追加しました。

$(".accordion h3").eq(40).addClass("active");
$(".accordion div").eq(40).show();
$(".accordion h3").click(function(){
    var video = $(".accordion h3.active").next().children(); // Find the div containing the video

    // The following three lines are a hack to stop the video.
    var src = video.attr("src"); // Get the source of the video
    video.attr("src","");  // Set the source to ""
    video.attr("src",src); // Set the source back to the original source.

    // Find the next div and toggle its state (sliding animation) while sliding up other divs (animated)
    $(this).next("div").slideToggle("slow")
    .siblings("div").slideUp("slow");

    // and toggle this one's active state
    $(this).toggleClass("active");

    // while making the others inactive
    $(this).siblings("h3").removeClass("active");
});
于 2013-11-01T00:27:38.220 に答える