Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 通过CSS:hover(或JS,如果需要)隐藏/显示内容_Jquery_Html_Css_Mouseover_Rollover - Fatal编程技术网

Jquery 通过CSS:hover(或JS,如果需要)隐藏/显示内容

Jquery 通过CSS:hover(或JS,如果需要)隐藏/显示内容,jquery,html,css,mouseover,rollover,Jquery,Html,Css,Mouseover,Rollover,我有以下html: <li> <span class="one">Stuff here</span> <span class="two">More stuff</span> </li> .one { display: block; } .two { display: none; } 这里的东西 更多的东西 .one{显示:块;} .two{显示:无;} 当鼠标在容器上滚动时,隐藏一个并显示两个的最简单方法是什么,最

我有以下html:

<li>
<span class="one">Stuff here</span>
<span class="two">More stuff</span>
</li>

.one { display: block; }
.two { display: none; }
  • 这里的东西 更多的东西
  • .one{显示:块;} .two{显示:无;}
    当鼠标在
  • 容器上滚动时,隐藏
    一个
    并显示
    两个
    的最简单方法是什么,最好是仅使用CSS

    如果这不能通过CSS和Javascript实现,我更希望jQuery通过类似
    live()
    的方式实现,因为内容是实时更新的,不希望不断地手动重新绑定

    编辑:
    我忘了提到这必须在IE6中起作用:/

    完全未经测试,您可能希望使用fadeIn()和fadeOut(),或者使用更好的类(两个跨度应该具有相同的类,但ID不同)。下面是执行此操作的jQuery示例:

    $(document).ready( function(){
      $("li span")
         .mouseOver( function(){ $(this).hide() )
         .mouseOut( function(){ $(this).show() )
    });
    

    根据您希望支持的浏览器,这可以通过以下方式实现:

    li .one { display: block; }
    li:hover .one { display: none; }
    li .two { display: none; }
    li:hover .two { display: block; }
    
    仅CSS:

    .one { display: block; }
    .two { display: none; }
    
    li:hover .one
    {
        display: none;
    }
    li:hover .two
    {
        display: block;
    }
    

    未经测试,但请试一试

    注意,这不适用于IE6。但是,条件注释可能包含此特定实例的Javascript。委托是否会确保将来创建的所有ul/li都将被绑定?在本例中,它确保将来在ul中创建的所有li都将被绑定。
     $('ul').delegate('li', 'mouseenter', function(){
         $('.one').hide();
         $('.two').show();
     })
     .delegate('li', 'mouseleave', function(){
         $('.one').show();
         $('.two').hide();
     });
    
    <script type="text/javascript">
    
     sfHover = function() {
      var sfEls = document.getElementsByTagName("LI");
      for (var i=0; i<sfEls.length; i++) {
       sfEls[i].onmouseover=function() {
        this.className+=" sfhover";
       }
       sfEls[i].onmouseout=function() {
        this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
       }
      }
     }
     if (window.attachEvent) window.attachEvent("onload", sfHover);
    
    </script> 
    
    .one { display: block; }
    .two { display: none; }
    
    li:hover .one, li.sfhover .one { display:none;}
    li:hover .two, li.sfhover .two { display:block;}​
    
     $('ul').delegate('li', 'mouseenter', function(){
         $('.one').hide();
         $('.two').show();
     })
     .delegate('li', 'mouseleave', function(){
         $('.one').show();
         $('.two').hide();
     });