开发者问题收集

如何从另一个类更改显示?

2013-02-23
92

我有一个无法解决的问题。

我有两个类:

    <div class="left" style="display:block;"></div>
    <div class="leftlarge" style="display:none">
        <h1>Welcome</h1>
        <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>
    </div>

这是我想要的:

  • .leftlarge onMouseEnter style="display:none " 更改为 style="display:block"
  • .left onMouseEnter style="display:block" 更改为 style="display:none"

我尝试使用 css :hover ,但没有用。这样我无法在该类中显示文本。我还应用了在互联网上找到的几个 javascript,但没有一个能按我想要的方式工作。

我很感激任何帮助。

2个回答

你的意思是类似这样的,但可能没有闪烁效果? http://jsfiddle.net/Ce8PW/2/

$(function(){
  $('.left').mouseenter(function(){$('.leftlarge').show();$(this).hide();});
  $('.leftlarge').mouseenter(function(){$('.left').show();$(this).hide();});
});

但是 .left div 中必须有内容,至少是 &nbsp; ,否则 div 根本就不会显示,您也无法向其附加任何内容。

如果您只是想要 onmouseover 时的显示/隐藏效果,请尝试以下方法: http://jsfiddle.net/2ztUp/

如果您想在鼠标悬停在文本上时继续显示文本,请让 .left div 像这样包裹文本 div: http://jsfiddle.net/hKRPY/

2013-02-24

这就是您要找的....!!

为 div 提供 ID,如果对象显示在屏幕上,则 ('#none_blk') 将返回 true,否则将返回 false

function isDisplayed(object)
 {
if($(object).css('display') == 'block')
    {
   return true;
     }
   return false;
 }

编辑:

否则,您可以使用 toggleClass ()

EnterJQ
2013-02-24