简体   繁体   中英

Revealing text on hover image

With my code, i am using a script that generates a random set of 4 images that gets displayed on refresh. I wish to only display the text when the cursor is hovering over the respective image.

Any pointers on doing this with CSS? I am not sure where to put the hover element. http://jsfiddle.net/sugarcraving/Af72K/1/

Javascript

$(document).ready(function() {
$(".champ").hide();

var elements = $(".champ");
var elementCount = elements.size();
var elementsToShow = 4;
var alreadyChoosen = ",";
var i = 0;
while (i < elementsToShow) {
    var rand = Math.floor(Math.random() * elementCount);
    if (alreadyChoosen.indexOf("," + rand + ",") < 0) {
        alreadyChoosen += rand + ",";
        elements.eq(rand).show();
        ++i;
    }
}
});

CSS

div.champ { 
display: none; 
float: left;
color: red;
}
div.champ: hover{
    visibility: hidden;
}
div.champ: hover p{
    visibility: visible 
}

Where p is the element within your div that holds the text.

Hope this helps.

V/R

Following what Rouse02 said, add something around the context you want to hide/show.

<p>Celebi, the 251</p>

Then in your css, hide the content and only show it when you hover on the div (you could do it on the image hover as well).

p {
    visibility:hidden;
}
.champ:hover p {
    visibility:visible;
}

Demo: http://jsfiddle.net/bzTnR/1/

Maybe this could help! Let me know if this wasn't you were looking for

JsFiddle

I changed CSS to like this : div.text{display:none} div.champ:hover div.text{display:block}

i've updated your fiddle..here..try this

div.champ p{ visibility: hidden; }

div.champ:hover p{ visibility: visible; }

updated fiddle

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM