當我在引導選項卡之間切換時,如何讓視頻開始播放?當我在引導選項卡之間切換時,如何獲取視頻以開始播放?
$('#tab').on('click', function() {
$('.active').find('video').each(function() {
$('#video').play();
});
});
當我在引導選項卡之間切換時,如何讓視頻開始播放?當我在引導選項卡之間切換時,如何獲取視頻以開始播放?
$('#tab').on('click', function() {
$('.active').find('video').each(function() {
$('#video').play();
});
});
要做到這一點,你可以鉤到時,會顯示一個標籤是引導觸發事件:shown.bs.tab
。然後,您可以在前一個標籤的視頻上撥打stop()
,同時在當前標籤上撥打start()
。試試這個:
$('#tab').on('shown.bs.tab', function(e) {
// start videos in new tab
$(e.target).find('video').each(function() {
this.play();
});
// stop videos in old tab
$(e.relatedTarget).find('video').each(function() {
this.stop();
});
});
的引導標籤事件的詳細信息是在documentaton
提供要添加到rorys回答,如果你想回到舊標籤和恢復你離開的地方,你可以您$('#video').pause()
請勿使用該ID。如果你使用ID選擇器,jQuery只返回單個元素(只會選擇DOM中第一個匹配的元素)。使用這個:
$('#tab a').on('click', function() {
$('#tab .active').find('video').each(function (video) {
$(video).get(0).play();
});
});
閱讀this。
我相信這兩個事件目標都指向選項卡(錨點)而不是內容。所以它可能是'$('#'+ $(e.target).attr('href'))'或什麼的。請糾正我。 – Chay22
你可能是對的,在這種情況下,最好在選項卡上使用一個類:'$('.tab')。on('shown.bs.tab'...' –