喜悦国际村 » XML/HTML/CSS/Js » 一个<div></div>影响页面宽度的问题

页: [1]
芽雨2005-5-25 11:02 AM
一个<div></div>影响页面宽度的问题

代码如下:
[php]
<div id="tipDiv" style="position:absolute; visibility:hidden; z-index:100">
[/php]
使用这个代码后,会使页面变宽,使得下面出现导航条:
具体样式可参照:
使用代码后:[url]http://unclemoon.512j.com/bs/mysite.php[/url]
没有使用的:[url]http://unclemoon.512j.com/bs/mysite1.php[/url]

代码作用如下:
放在导航条的<td></td>中,使导航条可以有自己设计的提示信息。

此代码还需和另一代码配合使用,否则将不出现自己设计的信息。两个代码缺一不可

这个在两个页面的对比中可以看见

这个代码是从一个网站上下的,具体在:
[url]http://www.baron.com.cn/javascript/dao/20020429dao2.htm[/url]

哪位大虾能帮偶修改一下,使它不影响页面宽度?

偶急啊!!!!!!!!!!!1

原提示如下:
[php]
脚本说明:
把如下代码加入<body>区域中
<script language="javascript" type="text/javascript">
<!--

var dom = (document.getElementById) ? true : false;
var ns5 = ((navigator.userAgent.indexOf("Gecko")>-1) && dom) ? true: false;
var ie5 = ((navigator.userAgent.indexOf("MSIE")>-1) && dom) ? true : false;
var ns4 = (document.layers && !dom) ? true : false;
var ie4 = (document.all && !dom) ? true : false;
var nodyn = (!ns5 && !ns4 && !ie4 && !ie5) ? true : false;

// resize fix for ns4
var origWidth, origHeight;
if (ns4) {
        origWidth = window.innerWidth; origHeight = window.innerHeight;
        window.onresize = function() { if (window.innerWidth != origWidth || window.innerHeight != origHeight) history.go(0); }
}

// avoid error of passing event object in older browsers
if (nodyn) { event = "nope" }


///////////////////////  CUSTOMIZE HERE   ////////////////////
// settings for tooltip
// Do you want tip to move when mouse moves over link?
var tipFollowMouse= true;       
var tipWidth= 160;
var offX= 12;        // how far from mouse to show tip
var offY= 12;
var tipFontFamily= "Verdana, arial, helvetica, sans-serif";
var tipFontSize= "8pt";
var tipFontColor= "#000000";
var tipBgColor= "#DDECFF";
var origBgColor= tipBgColor; // in case no bgColor set in array
var tipBorderColor= "#000080";
var tipBorderWidth= 3;
var tipBorderStyle= "ridge";
var tipPadding= 4;

// preload images that are to appear in tooltip, (width,height)
var img1 = new Image(106,131);        img1.src = "1601.gif";
var img2 = new Image(90,45);                img2.src = "1602.gif";

// tooltip content goes here
var messages = new Array();
// multi-dimensional arrays containing
// image, text, bgColor to be sent to tooltip
messages[0] = new Array('1601.gif','链接一的说明文字',"#FFFFFF");
messages[1] = new Array('1602.gif','链接二的说明文字',"#DDECFF");
messages[2] = new Array('','','');

////////////////////  END OF CUSTOMIZATION AREA  ///////////////////

// to layout image and text, 2-row table, image centered in top cell
// these go in var tip in doTooltip function
// startStr goes before image, midStr goes between image and text
var startStr = '<table width="' + tipWidth + '"><tr><td align="center" width="100%"><img src="';
var midStr = '" border="0"></td></tr><tr><td valign="top">';
var endStr = '</td></tr></table>';

////////////////////////////////////////////////////////////
//  initTip        - initialization for tooltip.
//                Global variables for tooltip.
//                Set styles for all but ns4.
//                Set up mousemove capture if tipFollowMouse set true.
////////////////////////////////////////////////////////////
var tooltip, tipcss;
function initTip() {
        if (nodyn) return;
        tooltip = (ns4)? document.tipDiv.document: (ie4)? document.all['tipDiv']: (ie5||ns5)? document.getElementById('tipDiv'): null;
        tipcss = (ns4)? document.tipDiv: tooltip.style;
        if (ie4||ie5||ns5) {        // ns4 would lose all this on rewrites
                tipcss.width = tipWidth+"px";
                tipcss.fontFamily = tipFontFamily;
                tipcss.fontSize = tipFontSize;
                tipcss.color = tipFontColor;
                tipcss.backgroundColor = tipBgColor;
                tipcss.borderColor = tipBorderColor;
                tipcss.borderWidth = tipBorderWidth+"px";
                tipcss.padding = tipPadding+"px";
                tipcss.borderStyle = tipBorderStyle;
        }
        if (tooltip&&tipFollowMouse) {
                if (ns4) document.captureEvents(Event.MOUSEMOVE);
                document.onmousemove = trackMouse;
        }
}

window.onload = initTip;

/////////////////////////////////////////////////
//  doTooltip function
//                        Assembles content for tooltip and writes
//                        it to tipDiv
/////////////////////////////////////////////////
var t1,t2;        // for setTimeouts
var tipOn = false;        // check if over tooltip link
function doTooltip(evt,num) {
        if (!tooltip) return;
        if (t1) clearTimeout(t1);        if (t2) clearTimeout(t2);
        tipOn = true;
        if (ns4) {
                if (messages[num][2])        tipBgColor = messages[num][2];
                else tipBgColor = origBgColor;
                var tip = '<table bgcolor="' + tipBorderColor + '" width="' + tipWidth + '" cellspacing="0" cellpadding="' + tipBorderWidth + '" border="0"><tr><td><table bgcolor="' + tipBgColor + '" width="100%" cellspacing="0" cellpadding="' + tipPadding + '" border="0"><tr><td>'+ startStr + messages[num][0] + midStr + '<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + tipFontColor + ';">' + messages[num][1] + '</span>' + endStr + '</td></tr></table></td></tr></table>';
                tooltip.write(tip);
                tooltip.close();
        } else if (ie4||ie5||ns5) {
                var tip = startStr + messages[num][0] + midStr + '<span style="font-family:' + tipFontFamily + '; font-size:' + tipFontSize + '; color:' + tipFontColor + ';">' + messages[num][1] + '</span>' + endStr;
                tipcss.backgroundColor = messages[num][2];
                 tooltip.innerHTML = tip;
        }
        if (!tipFollowMouse) positionTip(evt);
        else t1=setTimeout("tipcss.visibility='visible'",100);
}

var mouseX, mouseY;
function trackMouse(evt) {
        mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft;
        mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop;
        if (tipOn) positionTip(evt);
}

/////////////////////////////////////////////////////////////
//  positionTip function
//                If tipFollowMouse set false, so trackMouse function
//                not being used, get position of mouseover event.
//                Calculations use mouseover event position,
//                offset amounts and tooltip width to position
//                tooltip within window.
/////////////////////////////////////////////////////////////
function positionTip(evt) {
        if (!tipFollowMouse) {
                mouseX = (ns4||ns5)? evt.pageX: window.event.clientX + document.body.scrollLeft;
                mouseY = (ns4||ns5)? evt.pageY: window.event.clientY + document.body.scrollTop;
        }
        // tooltip width and height
        var tpWd = (ns4)? tooltip.width: (ie4||ie5)? tooltip.clientWidth: tooltip.offsetWidth;
        var tpHt = (ns4)? tooltip.height: (ie4||ie5)? tooltip.clientHeight: tooltip.offsetHeight;
        // document area in view (subtract scrollbar width for ns)
        var winWd = (ns4||ns5)? window.innerWidth-20+window.pageXOffset: document.body.clientWidth+document.body.scrollLeft;
        var winHt = (ns4||ns5)? window.innerHeight+window.pageYOffset: document.body.clientHeight+document.body.scrollTop;
        // check mouse position against tip and window dimensions
        // and position the tooltip
        if ((mouseX+offX+tpWd)>winWd)
                tipcss.left = (ns4)? mouseX-(tpWd+offX): mouseX-(tpWd+offX)+"px";
        else tipcss.left = (ns4)? mouseX+offX: mouseX+offX+"px";
        if ((mouseY+offY+tpHt)>winHt)
                tipcss.top = (ns4)? mouseY-(tpHt+offY): mouseY-(tpHt+offY)+"px";
        else tipcss.top = (ns4)? mouseY+offY: mouseY+offY+"px";
        if (!tipFollowMouse) t1=setTimeout("tipcss.visibility='visible'",100);
}

function hideTip() {
        if (!tooltip) return;
//        tipcss.visibility = "hidden";
        t2=setTimeout("tipcss.visibility='hidden'",100);
        tipOn = false;
}
//-->
</script>
<a href="#" onmouseover="doTooltip(event,0)" onmouseout="hideTip()">链接一</a><br>
<a href="#" onmouseover="doTooltip(event,1)" onmouseout="hideTip()">链接二</a>
<div id="tipDiv" style="position:absolute; visibility:hidden; z-index:100"></div>
[/php]

ALPS2005-5-25 04:58 PM
没有看出来.影响到什么

芽雨2005-5-26 03:15 PM
不是吧

[url]http://unclemoon.512j.com/bs/mysite.php[/url]下面出现导航条

[url]http://unclemoon.512j.com/bs/mysite1.php[/url]下面没出现导航条

ALPS2005-5-26 03:26 PM
positionTip 改下这个函数就可以了吧,
只是记算浏览器高度的问题....

<div id="tipDiv" style="position:absolute; visibility:hidden; z-index:100"></div>
这个只是用来显示你提示消息用的DIV.不会影响

芽雨2005-5-26 03:32 PM


怎么改?

偶对javascript不懂……

偶的页面宽度是780像素,这个表格的高度是16像素


查看完整版本: 一个&lt;div&gt;&lt;/div&gt;影响页面宽度的问题


Powered by Discuz! Archiver 6.1.0  © 2001-2006 Comsenz Inc.
Processed in 0.006666 second(s), 2 queries