<html>
<body>
Internet Explorer 5.5支持一个新的window对象的方法:creatPopup()。你可以向下面一样创建一个弹出窗口:
<br>
var popupObj = window.createPopup();
<br>
当你创建了这个对象后,弹出窗口并不显示。你必须要调用它的show方法:
<br>
popupObj.show(yOffset, xOffset, width, height, referenceObj)
<br>
在这里:
<br>
yOffset 是弹出窗口距离屏幕左上角的水平偏移。
<br>
xOffset 是弹出窗口距离屏幕左上角的垂直偏移。
<br>
width 是弹出窗口的宽度。
<br>
height 是弹出窗口的高度。
<br>
referenceObj 是一个可选参数,它替代屏幕左上角做为引用yOffset 和 xOffset 的参照。
<br>
<script>
var oPopup=window.createPopup();
function MoveIn(){
oPopup.document.body.innerHTML=mydownDiv.innerHTML;
var top=document.getElementById("mytext").offsetHeight;
oPopup.show(0,top, 300, 100, mytext);//前面4个参数相对于mytext的位置
//oPopup.show(0,top, 300, 100, null);//前面4个参数相对于整个屏幕
childChangeDiv(oPopup.document);
}
function childChangeDiv(dd){
var fa=dd.body.childNodes.item(0);
var parentDiv=fa.childNodes;
for(i=0;i<parentDiv.length;i++){
//alert(parentDiv.item(i).innerHTML);
//ie下绑定事件
parentDiv.item(i).attachEvent("onmouseover",OverFuncOne);
parentDiv.item(i).attachEvent("onmouseout",OutFuncTwo);
}
}
function OverFuncOne(){
for(var i=0;i<oPopup.document.body.childNodes.item(0).childNodes.length;i++){
var v1=oPopup.document.body.childNodes.item(0).childNodes.item(i);
v1.style.backgroundColor="#FF0000";
}
}
function OutFuncTwo(){
for(var i=0;i<oPopup.document.body.childNodes.item(0).childNodes.length;i++){
var v1=oPopup.document.body.childNodes.item(0).childNodes.item(i);
v1.style.backgroundColor="#e4e4e4";
}
}
</script>
<br><br><br>
搜索:
<input type="text" id=mytext οnfοcus="MoveIn()" style="width:550px" />
<br>
<br>
<div id=mydownDiv style="Display:none">
<div style="PADDING-RIGHT: 10px; PADDING-LEFT: 10px; LEFT: 0px; OVERFLOW-X: hidden; PADDING-BOTTOM: 10px;
SCROLLBAR-HIGHLIGHT-COLOR: #99ccff; OVERFLOW: scroll; WIDTH: 300px; SCROLLBAR-ARROW-COLOR: white; PADDING-TOP:
10px; BORDER-BOTTOM: black 2px solid; SCROLLBAR-BASE-COLOR: #3366cc; POSITION: absolute; TOP: 0px; HEIGHT:
100px; BACKGROUND-COLOR: #e4e4e4">
<div οndblclick="parent.mytext.value=this.innerText;parent.oPopup.hide();">
新闻</div>
<div>体育</div>
<div>手机</div>
<div>电影</div>
</div>
</div>
</body>
</html>
想到想用attachEvent("onmouseover",OverFuncOne)的第二个参数能不能传递参数,答案是可以的,
下面是一个成功的例子,但在上面那个例子中却实现不了,不知为什么。js学的不好阿,还得努力。
<input name= "HB ">
<input name= "HB2 " value= "HAHA ">
<script language=javascript>
function HBfunction(obj)
{
alert(obj.value) ;
}
obj=document.getElementById( "HB2 ") ;
var vv=document.getElementById( "HB ");
vv.attachEvent( "onclick",new Function( "HBfunction(obj)") ) ;
</script>