效果就是鼠标移上去时,alt或title的框内可以显示图片和文字等信息
具体图片请看:http://photo.bokee.com/photoblog/SinglePhotoCtrl?imgid=9886728这样的效果该如何实现,请指教,谢谢

解决方案 »

  1.   

    没有打开.应该是用 mouseover 事件来完成的.
      

  2.   

    <html>
    <head>
      <script language="javascript">
    var tipTimer;
    function locateObject(n, d) { //v3.0
    var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
    if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
    for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=locateObject(n,d.layers[i].document); return x;
    }function hideTooltip(object)
    {
    if (document.all)
    {
    locateObject(object).style.visibility="hidden"
    locateObject(object).style.left = 1;
    locateObject(object).style.top = 1;
    return false
    }
    else if (document.layers)
    {
    locateObject(object).visibility="hide"
    locateObject(object).left = 1;
    locateObject(object).top = 1;
    return false
    }
    else
    return true
    }function showTooltip(object,e, tipContent, backcolor, bordercolor, textcolor, displaytime)
    {
    window.clearTimeout(tipTimer)if (document.all)
    {
    locateObject(object).style.top=document.body.scrollTop+event.clientY+20locateObject(object).innerHTML='<table style="font-family: Verdana,Tahoma, Arial, Helvetica, sans-serif; font-size: 11px; border: '+bordercolor+'; border-style: solid; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; background-color: '+backcolor+'" width="10" border="0" cellspacing="1" cellpadding="1"><tr><td nowrap><font style="font-family: Verdana,Tahoma, Arial, Helvetica, sans-serif; font-size: 11px; color: '+textcolor+'">'+unescape(tipContent)+'</font></td></tr></table> 'if ((e.x + locateObject(object).clientWidth) > (document.body.clientWidth + document.body.scrollLeft))
    {
    locateObject(object).style.left = (document.body.clientWidth + document.body.scrollLeft) - locateObject(object).clientWidth-10;
    }
    else
    {
    locateObject(object).style.left=document.body.scrollLeft+event.clientX
    }
    locateObject(object).style.visibility="visible"
    tipTimer=window.setTimeout("hideTooltip('"+object+"')", displaytime);
    return true;
    }
    else if (document.layers)
    {
    locateObject(object).document.write('<table width="10" border="0" cellspacing="1" cellpadding="1"><tr bgcolor="'+bordercolor+'"><td><table width="10" border="0" cellspacing="0" cellpadding="2"><tr bgcolor="'+backcolor+'"><td nowrap><font style="font-family: Verdana,Tahoma, Arial, Helvetica, sans-serif; font-size: 11px; color: '+textcolor+'">'+unescape(tipContent)+'</font></td></tr></table></td></tr></table>')
    locateObject(object).document.close()
    locateObject(object).top=e.y+20if ((e.x + locateObject(object).clip.width) > (window.pageXOffset + window.innerWidth))
    {
    locateObject(object).left = window.innerWidth - locateObject(object).clip.width-10;
    }
    else
    {
    locateObject(object).left=e.x;
    }
    locateObject(object).visibility="show"
    tipTimer=window.setTimeout("hideTooltip('"+object+"')", displaytime);
    return true;
    }
    else
    {
    return true;
    }
    }
    </script>
      </head>
      <body>
    <div id="dHTMLToolTip" style="position: absolute; visibility: hidden; width:10; height: 10; z-index: 1000; left: 0; top: 0"></div>
    <span onMouseOver="showTooltip('dHTMLToolTip',event, '文字提示信息部分<br>大家号啊。。<img src = 1.jpg height=120>', '#fffff2','#000000','#000000','20000')" onMouseOut="hideTooltip('dHTMLToolTip')">dfsafsdafsdafasf</span>
    </body>
    <html>
      

  3.   

    通常都是用 div 实现滴,alt 和 title 通常只显示纯文本!
      

  4.   

    事件:onMouseOver,onMouseOut
    如LS所说,最好用Div,onMouseOver时show,传入要显示的内容
    onMouseOut时hidden
      

  5.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <style type="text/css">
    *{list-style:none}
    #div1{position:absolute;width:200px; height:200px; background:blue; z-index:2;}
    ul{position:relative; top:200px; left:300px;}
    li{width:100px; height:100px; border:1px #eee solid; background:red; float:left;}
    </style>
    </head><body>
    <div id="div1"></div>
    <div><ul><li>要显示的字</li><li>xxx</li></ul></div>
    </body>
    </html>
    <script type="text/javascript">var li0 = document.getElementsByTagName("li")[0];var div1 = document.getElementById("div1");li0.onmouseover = change1;var x  = (pageX(li0) + fullHeight(li0) / 2);
    var y  = (pageY(li0) + fullWidth(li0) / 2);
    div1.style.display = "none";
    function change1(){setTimeout(function(){ div1.style.width = "200px";
    div1.style.height = "200px";setX(div1, x);
    setY(div1,y);slideDownFadeIn(div1);
    },100);div1.innerHTML = li0.innerHTML;
    }
    /******/
    function getStyle( elem, name ) {
        if (elem.style[name])
            return elem.style[name];
        else if (elem.currentStyle)
            return elem.currentStyle[name];
        else if (document.defaultView && document.defaultView.getComputedStyle) {
            name = name.replace(/([A-Z])/g,"-$1");
            name = name.toLowerCase();
            var s = document.defaultView.getComputedStyle(elem,"");
            return s && s.getPropertyValue(name);
        } else
        return null;
    }
    function fullHeight( elem ) {
        if ( getStyle( elem, 'display' ) != 'none' )
            return elem.offsetHeight || getHeight( elem );
        var old = resetCSS( elem, {
            display: '',
            visibility: 'hidden',
            position: 'absolute'
            });
        var h = elem.clientHeight || getHeight( elem );
        restoreCSS( elem, old );
        return h;
    }function fullWidth( elem ) {
        if ( getStyle( elem, 'display' ) != 'none' )
            return elem.offsetWidth || getWidth( elem );
        var old = resetCSS( elem, {
            display: '',
            visibility: 'hidden',
            position: 'absolute'
        });
        var w = elem.clientWidth || getWidth( elem );
        restoreCSS( elem, old );
        return w;
    }function resetCSS( elem, prop ) {
        var old = {};
        for ( var i in prop ) {
            old[ i ] = elem.style[ i ];
            elem.style[ i ] = prop[i];
        }
        return old;
    }function restoreCSS( elem, prop ) {
        for ( var i in prop )
            elem.style[ i ] = prop[ i ];
    }
    function setX(elem, pos) {    elem.style.left = pos + "px";
    }function setY(elem, pos) {    elem.style.top = pos + "px";
    }
    function pageX(elem) {
        return elem.offsetParent ?
            elem.offsetLeft + pageX( elem.offsetParent ) :
            elem.offsetLeft;
    }function pageY(elem) {
        return elem.offsetParent ?
            elem.offsetTop + pageY( elem.offsetParent ) :
            elem.offsetTop;
    }
    function show( elem ) {
        elem.style.display = elem.$oldDisplay || '';
    }
    function setOpacity( elem, level ) {
        if ( elem.filters )
            elem.style.filter = 'alpha(opacity=' + level + ')';
        else
            elem.style.opacity = level / 100;
    }
    function slideDownFadeIn(elem) {
    var h = fullHeight( elem );
    var w = fullWidth (elem);
        elem.style.height = '0px';
    elem.style.width = '0px';
     setOpacity(elem,0);
        show( elem );
        for ( var i = 0; i <= 100; i += 5 ) {
            (function(){
                var pos = i;
                setTimeout(function(){
    elem.style.width = ( pos / 100 ) * h  + "px";
                    elem.style.height = ( pos / 100 ) * h  + "px";
     setOpacity(elem,pos);
                    }, ( pos + 1 ) * 10 );
            })();
        }
    }
    </script>---
    onmouseover事件引发弹出层,并把内容显示在弹出层里