通过CSS隐藏/显示内容:hover(或JS,如果需要)
我有以下html:
Stuff here More stuff .one { display: block; } .two { display: none; }
当鼠标滚过
one
并显示two
最简单的方法(最好只有CSS)是什么。
如果这不能通过CSS和Javascript完成,我更喜欢jQuery通过live()
类的东西,因为内容是实时更新的,不希望不断手动重新绑定。
编辑:我忘了提到这必须在IE6中工作:/
$('ul').delegate('li', 'mouseenter', function(){ $('.one').hide(); $('.two').show(); }) .delegate('li', 'mouseleave', function(){ $('.one').show(); $('.two').hide(); });
仅限CSS:
.one { display: block; } .two { display: none; } li:hover .one { display: none; } li:hover .two { display: block; }
完全未经测试,您可能希望使用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; }
Stuff here More stuff
js在它之后
最后,css部分
.one { display: block; } .two { display: none; } li:hover .one, li.sfhover .one { display:none;} li:hover .two, li.sfhover .two { display:block;}
未经测试,但试一试