解决方案 »
- 大家觉得我这个去掉前后特定字符的函数怎样?还有什么可以改进,谢谢
- 请问jquery除了not("[nodeType=1]")可以使用nodeTpye以外还有哪里可以使用?
- [求助]这个效果怎么实现?(多图滚动,按需载入)
- 为什么无论按哪个如下的button,都会跳出i will be submit呢?谢谢。
- 如何在js里处理<%#Eval("")%>里的变量?
- 再问一个javascipt控制table的问题!
- jquery 让一段程序执行后等待1秒
- 做了个下拉菜单,因为页面间共用,放框架里了,框架高度和菜单差不多,这样一来下拉部分看不到,框架高度加大到下拉部全显示又很难看,
- 送分(有两个函数,高手帮忙解释一下)
- 请问下各位大神 关于网页边框的一个问题 请各位大虾进来帮下我
- 如何在打开网页时自动载入iframe
- onkeyup事件的用法,谢谢!
<body>
<input id="txt" type="text" value="text value" style="float: left" />
<div style="clear: both; float: left">
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
</div>
</body>
<input id="txt" type="text" value="text value" style="float: left" />
<div id="box1" style="display:none;clear: both; float: left;border:1px solid #ff0;background:#f49;">
Pop up text width border <br />
Pop up text width border <br />
Pop up text width border <br />
</div>
<div style="clear: both; float: left">
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
</div>
<script>
var id = document.getElementById('txt');
var box = document.getElementById('box1');
id.onfocus = function(){
box.style.display = "block" ;
};
id.onblur = function(){
box.style.display = "none" ;
}
</script>
</body>
<script>
window.onload=function(){
var pad = document.getElementById("pad");
var left = getAbsPos("txt", "left");
var top = getAbsPos("txt", "top");
var txt = document.getElementById("txt");
pad.style.left = left;
pad.style.top = top + txt.clientHeight;
}
function doOver(){
document.getElementById("pad").style.display = "block";
}
function doOut(){
document.getElementById("pad").style.display = "none";
}
function getAbsPos( oId, tl ) {
var o = ((typeof oId).toLowerCase() == 'string') ? document.getElementById( oId ) : oId;
var val = 0;
var n = o.tagName || o.nodeName;
while ( n.toLowerCase() != "body") {
val += (tl == 'top') ? parseInt( o.offsetTop ) : parseInt( o.offsetLeft );
o = o.parentNode;
n = o.tagName || o.nodeName;
}
return val;
}
</script>
<body>
<input id="txt" type="text" value="text value" style="float:left" onmouseout="doOut()" onmouseover="doOver()"/>
<div style="clear: both; float: left">
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
a line of very very long text<br />
</div>
<div id="pad" style="display:none;position:absolute;z-index:100;top:0;left:0;width:300px;border:1px solid #F00;background:#FFBFFF;padding:10px">
Pop up text with border<br>
Pop up text with border<br>
Pop up text with border<br>
</div>
</body>
而且,不知道你有没有注意到:题目中的弹出框是盖住文本区的,而不是顶出文本区。
感谢你的关注!
还有其他解法没?
大哥:自己定义 CSS呀
var doc = document.documentElement || document.body;
window.onload=function(){
var pad = document.getElementById("pad");
var txt = document.getElementById("txt");
pad.style.left = position(txt).left + 'px';
pad.style.top = position(txt).bottom + 'px';
}
function doOver(){
document.getElementById("pad").style.display = "block";
}
function doOut(){
document.getElementById("pad").style.display = "none";
} var position = function(el) {
var rect = el.getBoundingClientRect();
return {bottom: Math.round(rect.bottom + (window.pageYOffset || doc.scrollTop) - (doc.clientTop || 0)),
left: Math.round(rect.left + (window.pageXOffset || doc.scrollLeft) - (doc.clientLeft || 0))};
}
</script>
<body>
<input id="txt" type="text" value="text value" style="float:left" onmouseout="doOut()" onmouseover="doOver()"/>
<div style="clear: both; float: left">
a line of very very long text <br />
a line of very very long text <br />
a line of very very long text <br />
a line of very very long text <br />
a line of very very long text <br />
a line of very very long text <br />
a line of very very long text <br />
a line of very very long text <br />
a line of very very long text <br />
a line of very very long text <br />
</div>
<div id="pad" style="display:none;position:absolute;z-index:100;top:0;left:0;width:300px;border:1px solid #F00;background:#FFBFFF;padding:10px">
Pop up text with border <br>
Pop up text with border <br>
Pop up text with border <br>
</div>
</body>