2012-12-22 43 views
0

我需要此代碼在執行$('.mp3').show();後再次運行。我需要一個循環在我的jQuery片段

$('.mp3').click(function() { 
    $(this).toggle(function() { 
     $('object').remove(); 
     $('.mp3-0').show(); 
    }); 
}); 

$('.mp3-0').click(function() { 
    $(this).toggle(function() { 
     $('#mp3obj').replaceWith('<object width="0" height="0"> <param name="src" value="musicasite.mp3"> <param name="autoplay" value="false"> <param name="controller" value="true"> <param name="bgcolor" value="#FFFFFF"> <embed src="musicasite.mp3" autostart="false" loop="false" width="0" height="0" controller="true" bgcolor="#FFFFFF"></embed> </object>'); 
     $('.mp3').show(); 
    }); 
});​ 

什麼這整個片段所做的工作對我來說,當用戶請求,但如果用戶想要回那麼音樂播放再次被移除從網站的一首歌。

但是,代碼運行這麼長時間後,它只是停止工作。

我需要的是:整個HTML文件需要設置,因爲它是在點擊按鈕和代碼運行之前。

-----編輯------

一個例子可以看這裏:http://dev.webtoad.com.br/toquedemagica/2012/
的頁面是葡萄牙語(巴西),但如果你點擊「Parar曲藝」和「Tocar曲藝'你可以看到我迄今取得的成就。

+0

我不t認爲toggle()以這種方式工作,如果你正在嘗試做我認爲你正在嘗試做的事情,那麼該版本的toggle()已被棄用? – adeneo

+0

我不知道,我正在學習jQuery,並使用api.jquery.com很多,所以我認爲它可以使用...但是,它不是?我應該使用什麼? – gustavobianco

+0

你試圖用toggle()函數做什麼?作爲旁註,一旦你移除了一個元素,它就消失了,你將重新創建它,包括所有的事件處理程序。 – adeneo

回答

2

你正在兩個大錯誤:

找你不使用切換權。您只想切換按鈕可見性而不是按鈕行爲。這應該是$(this).toggle(),然後是切換功能之外的其餘操作。當你點擊兩個不同的按鈕時,根本無法使用切換,因爲它可能會讓你陷入意想不到的顯示/隱藏行爲。

2..mp3-0點擊(第二次點擊)要(重新)添加<object>您在上點擊後面的#mp3obj內取出,而不是取代它。這就是爲什麼代碼只能運行3次點擊;

STOP - 刪除<object>

START - 用<object>替代#mp3obj

STOP - 再次移除<object>

START - ...找不到#mp3obj<object>更換(您更換了!) - 功能停止工作...

試試這個:

$('.mp3').click(function() { 
    $(this).hide(); 
    $('object').remove(); 
    $('.mp3-0').show(); 
}); 

$('.mp3-0').click(function() { 
    $(this).hide(); 
    $('#mp3obj').html('<object width="0" height="0"> <param name="src" value="musicasite.mp3"> <param name="autoplay" value="false"> <param name="controller" value="true"> <param name="bgcolor" value="#FFFFFF"> <embed src="musicasite.mp3" autostart="false" loop="false" width="0" height="0" controller="true" bgcolor="#FFFFFF"></embed> </object>'); 
    $('.mp3').show(); 
});​ 
+0

感謝您對這款產品的巨大幫助,我真的很感謝。 – gustavobianco

+0

沒問題,很高興我能幫到你。祝你好運。 – nienn