2010-08-21 65 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图像来处理。

但是,我需要一些帮助来理解这个变量的含义。

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

:)谢谢!

回答