2016-03-30 3 views
1

Я пытаюсь сделать div, на который вы можете навести указатель мыши, и появится еще один. Это то, что я до сих пор ...Создание другого div, видимого на мыши, введите

HTML

<div id="buttons"> 
<div id="box"></div> 
<div id="content">content here</div> 
</div> 

CSS

#box { 
position:absolute; 
width: 10vw; 
height: 10vw; 
background-color: blue; 
} 

#content { 
position:absolute; 
width: 10vw; 
height: 10vw; 
background-color: red; 
visibility: hidden; 
} 

JQuery

$("box") 
.mouseover(function() { 
$("content").style.visibility("visible"); 
}) 

любая помощь вам будем очень благодарны. Благодаря!

+0

Вам нужно '#' для селекторов указать идентификаторы (напр. $ ("# Ящик")). – KiiroSora09

+0

с чистым css: http://stackoverflow.com/questions/5210033/using-only-css-show-div-on-hover-over-a –

+0

Удивительный! он работает сейчас, спасибо всем за вашу помощь. –

ответ

1

Вы путаете JQuery с чистым JavaScript во многих местах ...

Либо сделать это в JQuery:

$("#box").mouseover(function() { 
    $("#content").css("visibility", "visible"); 
}); 

или сделать это в чистом JavaScript:

document.getElementById("box").onmouseover = function() { 
    document.getElementById("content").style.visibility = "visible"; 
}; 

Но вы можете добиться такого же эффекта, используя только css:

#box { 
 
    position:absolute; 
 
    width: 10vw; 
 
    height: 10vw; 
 
    background-color: blue; 
 
} 
 

 
#content { 
 
    position:absolute; 
 
    width: 10vw; 
 
    height: 10vw; 
 
    background-color: red; 
 
    visibility: hidden; 
 
} 
 

 
#box:hover + #content { 
 
    pointer-events: none; 
 
    visibility: visible; 
 
}
<div id="buttons"> 
 
    <div id="box"></div> 
 
    <div id="content">content here</div> 
 
</div>

+0

Селектор «content» нуждается в # # – KiiroSora09

+0

@ KiiroSora09 - К сожалению, скопируйте пасту. спасибо – LcSalazar

1

Вы могли бы использовать:

('#box').hover(
    function() { 
    $('#content').show(); //or css('visibility','visible'); 
    }, 
    function() { 
    $('#content').hide(); //or css('visibility','hidden'); 
    } 
); 

Это показать/скрыть DIV. Вы пропустите «#»

0

Смотрите рабочую скрипку здесь: https://jsfiddle.net/8dpcuztk/

Здесь вместо атрибута видимости, играть с дисплеем: нет.

Таким образом, вы будете использовать функции show и hide для второго div.

Кроме того, ваш селектор не работает, потому что вы ищете идентификатор и должен использовать # перед идентификатором div.

$("#box").on("mouseover", function() { 
    $("#content").show(); 
}) 
0

$("#box").hover(
 
    function() { 
 
    $("#content").fadeIn(); //.show(); 
 
    }, 
 
    function(){ 
 
    $("#content").fadeOut(); //hide(); 
 
    } 
 
);
#buttons{position:relative;} 
 
#box { 
 
position:absolute;top:0;left:0;width:10vw;height:10vw;background-color:blue;cursor:pointer; 
 
} 
 

 
#content { 
 
position:absolute;top:100px;left:100px;width:10vw;height:10vw;background-color:red; 
 
display:none; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
 
<div id="buttons"> 
 
    <div id="box"></div> 
 
    <div id="content">content here</div> 
 
</div>

Смежные вопросы