2010-08-21 64 views
1

嘿傢伙,好的,所以,我的主頁上隱藏了一個jPlayer jQuery插件播放列表(http://www.marioplanet.com)。jQuery在指定區域以外的點擊檢測問題

現在,它默認是隱藏的,只有在我的標題<div>的右上角點擊標有「音樂」的圖像時纔會激活。

這很好用,一旦最終用戶點擊圖片,一個漂亮的,滑溜的滑行操作動作發生在<div id="player">元素上並顯示出來。

現在,一切都成立。

直到最終用戶再次點擊音樂圖像以外的任何地方,<div id="player">元素將再次滑動並消失。

唯一的問題是,當最終用戶再次點擊音樂圖像時,因爲據我所知,它滑動兩次!

這絕對不是我們想要的。

所以,這裏是這是適用於通過Magnar樂於助人的職位代碼:

$('#text_music').click(function() { 
    $('#jplayer').slideToggle(500, function() { 
     $("body").click(function (event) { 
      var outside = $(event.originalTarget).parents("#popup").length === 0; 
      if (outside) { 
       $("#jplayer").slideToggle(500); 
       $("body").unbind("click"); 
      } 
     }); 
    }); 
}); 

#text_music是我的圖像讀取 「音樂」
#jplayer是我<div>包含我jPlayer插件

那麼,是什麼我想嘗試做的是聲明一個變量,就像var outside在上面的代碼中聲明的那樣,一旦#jplayer <div>已經可見,該代碼就會通過單擊#text_music圖像來處理。

但是,我需要一些幫助來理解這個變量的含義。

任何人都想提供任何智慧的話?

:)謝謝!

回答