开发者

preventing div jumping on fadein

I use jQuery to fade in a caption on a icon mouseover.

$("#v1").mouseover(function() 
{
  $("#vc1").fadeIn("slow");
});

Here is the html

<div class="preview_item" id="p1">
    <div class="view_site_caption" id="vc1">View Site...</div>
    <div class="view_site" id="v1"><a href="http://www.delicious.com" target="_blank"><img src="application.png" /></a></div>
    <div><img src="screens/001.jpg" /></div>
</div>

And CSS:

开发者_开发技巧
.view_site_caption
{
    position:relative;
    top:10px;
    left:30px;
    display:none;
}
.view_site
{
    position:relative;
    top:30px;
    left:30px;
}

.preview_item
{
    position:absolute;
    left:-600px;
    top:170px;
}

When the mouseover fires it works however the <div><img src="screens/001.jpg /></div>

Is pushed down. I want it to stay in place and the view_site_caption div to just fade in.


Give that "div" an ID or Css class:

<div class="preview_item" id="p1">
    <div class="view_site_caption" id="vc1">View Site...</div>
    <div class="view_site" id="v1"><a href="http://www.delicious.com" target="_blank"><img src="application.png" /></a></div>
    <div id="donotmove"><img src="screens/001.jpg" /></div>
</div>

Style it with absolute positioning:

.preview_item
{
    position:absolute;
    left:-600px;
    top:170px;
}
#donotmove {
    position:absolute;
    left:0px; //play with these numbers
    top:20px; //play with these numbers
}


Not sure if you want #vc1 to take up the same space always, or if you want it to appear on top of the other stuff.

For the first option, remove display:none; and instead set opacity to 0, and use fadeTo("slow", 1) for example.

For the second option, you probably want to use position:absolute; on #vc1, position:relative; on #p1 so that you can position it within that div, then just add bottom:0; left:0; for example, if that's the point within #p1 where you want #vc1 to be placed.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜