如何改变选择器的扰流板?

时间:2012-08-02 13:09:14

标签: javascript css

我正在尝试更改剧透,但我的javascript代码存在问题

这是扰流板: http://nathan3000.altervista.org/Jdownloader%20Spoiler/zzzz.html

  1. 当我点击图像“MAC”时,扰流板打开。当我再次点击MAC时,扰流板关闭。但当我在文本之间点击时,扰流板再次关闭。 当我点击文本中间 时,我不希望扰流板关闭,但只有当我点击图像“MAC”时才会关闭。

    如何更改选择器,使其仅在单击图像时显示/隐藏?
    我仍然在.OS container

  2. 内单击
  3. 我不明白为什么桌面边框没有出现在网上版本上,而在本地版本上我可以看到桌子的边框。

  4. 剧透的javascript代码是:

    <script type="text/javascript">                                         
     $(document).ready(function(){
     $(".nonjs").removeAttr( "href"); //href is needed for users without JS
     $('.OS').click(function(){
     if($(this).find(".details").is(":visible"))
     {
       $(this).find(".details").not(":hidden").hide("slow");
       return true;
     }
     else
     {
    
       $(this).find(".details").show("slow");
       return false;
     }
     });
     });  
     </script>     
     <style type="text/css">
     <!--
    .details {
    display: none;
    clear: both;
    padding: 2px;
    }
    .nonjs{
        cursor:pointer;
    }
    img {
    border: 0px;
    }
    -->
    </style>
    

    提前致谢

2 个答案:

答案 0 :(得分:0)

将您的剧透/弹出菜单直接放在.OS映像之后。现在你的popdown是.OS容器的子项,因此点击它会传递给.OS点击处理程序。

这是你想要的东西:

http://tempesthostingservices.com/t/zzzz.html

答案 1 :(得分:0)

这是有效的:

 $(document).ready(function(){
     $(".nonjs").removeAttr( "href"); 
    //href is needed for users without JS

     $('.OS').click(function(e){
               if(!$(e.target).parents('.details').length){
                            if($(this).find('.details').is(":visible"))
                            {
                                $(this).find('.details').not(":hidden").hide("slow");
                                return true;
                            }
                            else
                            {

                                $(this).find('.details').show("slow");
                                return false;
                            }
              }
    });
     });