1

我正在尝试更改扰流板,但我的 javascript 代码有问题

这是剧透:http: //nathan3000.altervista.org/Jdownloader%20Spoiler/zzzz.html

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

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

  2. 我不明白为什么在线版本上没有表格边框,而在本地版本上我可以看到表格的边框。

剧透的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>

提前致谢

4

2 回答 2

0

put your spoiler/ popdown menu directly after your .OS image. right now your popdown is a child of the .OS container, so clicks on it are passed to the .OS click handler.

here is something like you want:

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

于 2012-08-02T13:28:02.593 回答
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;
                            }
              }
    });
     }); 
于 2012-08-04T02:21:04.317 回答