2013-04-23 86 views
1

還在玩,我會道歉,如果這確實是提出和回答別處前言......我一直在重述與google搜索天爲一個解決這個問題,沒有運氣。音頻後jQuery Mobile的頁面導航

我接下這個代碼寫責任我的網頁設計頂峯類,其中我們是一個印刷出版物轉換爲數字格式。我們決定使用jquery-mobile框架。在此之前,我對jquery沒有經驗,但我快速學習,並且非常享受它。我爲我們的網站使用了jquery-ui,它使用一個長index.html文件和data-role =「page」導航。網站內有書面作品,其中一些有音頻敘述。

我已經使用了HTML音頻標記爲這樣:

<audio controls> 
    <source src="audio/source.mp3" /> 
    <source src="audio/source.ogg" /> 
</audio> 

音頻播放就好了,但是當我瀏覽到另一個「頁」音頻不會停止,除非整個網站被刷新或暫停按鈕被點擊。我所理解的是,儘管在視覺上,網站是從一個頁面到另一個頁面,但瀏覽器只是移動到一個單一的html文件中,只顯示它被告知要顯示的部分。

有沒有辦法,我可以插入到我的網頁的地方,會告訴它被點擊一個鏈接或按鈕時,停止正在播放任何音頻一些基本的js代碼?讓我重申,導航全部在一個html文件中完成,而不是通過鏈接到不同的html文件。

(1000致歉冗長的故事....認爲我應該是具體的)

感謝任何及所有幫助和建議

+0

你能提供你用來導航到另一個'頁面'的代碼嗎?一旦你離開此頁面,你可以做類似'$(「音頻」)停止();' – 2013-04-23 16:45:01

+0

每一頁由'

分'和導航是通過''Some Page> Doran 2013-04-23 16:53:05

+0

(對不起......還是搞清楚做如何做stackoverflow的事情) – Doran 2013-04-23 16:58:00

回答

4

當導航到另一個pagebeforehide頁面將觸發。在此階段,請在該頁面找到audio,並在.pause()之間找到它們。

$(document).on('pagebeforehide', function() { 
$(this).find('audio').each(function() { 
    $(this)[0].pause(); 
}); 
}); 
+1

哦,我神奇的上帝,你現在在我的意志!這並不多,但你已經掌握了一切!非常感謝奧馬爾! – Doran 2013-04-23 17:01:19

+0

我認真地一直在這個問題現在去了一個多星期,我只是不明白JS/jQuery的,還不足以不同的功能轉化爲精確的語法,我需要....所以再次感謝您! – Doran 2013-04-23 17:04:48

+0

@Doran歡迎您:)請把它標記爲一個答案;) – Omar 2013-04-23 17:39:14