problem med IE
Hej eksperter jeg har et problem med IE jeg har en drag and drop code som virker perfect i firefox,safari,chrome,flock og opera men af en eller anden grund kan ie ikke finde af det det eneste der kommer frem e iframen som er inde i drag and drop box'en ?? er den nogen der han se hvor problemmet er !! der kommer ingen fejl meddelser i ieher er code:
var wi_DragWin={
IE : document.all?true:false,
z: 0,
x: 0,
y: 0,
winX: "20px",
winY: "90px",
offsetx : null,
offsety : null,
targetobj : null,
resizeobj : null,
dragapproved : 0,
wi_Win : null,
Id : "",
type : "",
url : "",
defaultHeight : "",
defaultWidth : "",
iframeId : "",
conId : "",
HideConbox : "",
Resizeapproved : 0,
initialize:function(id,type,url,height,w){
this.Id = id;
this.iframeId = id + "iframe";
this.type = type;
this.url = url;
this.defaultHeight = height;
this.defaultWidth = w;
this.conId = this.Id + "dragcontent";
document.onmousedown=this.drag;
document.onmouseup=function(){
this.dragapproved=0;
this.Resizeapproved = 0;
this.HideConbox = document.getElementById(this.targetobj.parentNode.id + "iframe");
this.HideConbox.style.visibility = 'visible';
wi_Win = document.getElementById(this.targetobj.parentNode.id);
wi_Win.className = "drag";
}
this.setWin();
},
setWin:function(){
var style = "top:"+ this.winY + ";left:" + this.winX + ";width:" + this.defaultWidth + ";height:" + this.defaultHeight + ";";
var div = document.createElement('div');
div.setAttribute( "class", "drag" );
div.setAttribute( "style", style );
div.setAttribute( "id", this.Id );
var div2 = document.createElement('div');
div2.setAttribute( "class", "drag-handle" );
div.appendChild(div2);
var div3 = document.createElement('div');
div3.setAttribute( "class", "drag-content" );
div3.setAttribute( "style", "display:block;" );
div3.setAttribute( "id", this.conId );
if(this.type == "ajax"){
}
if(this.type == "iframe"){
var h = (parseInt(this.defaultHeight)-47) + "px";
var w = this.defaultWidth;
alert(h + " | " + w);
div3.innerHTML = '<iframe id="'+ this.iframeId +'" frameborder="0" style="visibility:visible" top="0px" left="0px" height="'+ h +'" width="'+ w +'" src="'+ this.url +'"></iframe>';
}
div.appendChild(div3);
var div4 = document.createElement('div');
div4.setAttribute( "class", "drag-status" );
div4.setAttribute( "style", "display:block;" );
var bottomId = this.Id + "bottom"
div4.setAttribute( "id", bottomId );
div4.innerHTML = '<div class="drag-resize"></div>';
div.appendChild(div4);
document.body.appendChild(div);
alert(div.innerHTML);
},
drag:function(e){
var evtobj=window.event? window.event : e
this.targetobj=window.event? event.srcElement : e.target
//check if the clicked div is a dragbar
if (this.targetobj.className=="drag-handle"){
//sets the window to drag
wi_Win = document.getElementById(this.targetobj.parentNode.id);
//hides the content whill draging
this.HideConbox = document.getElementById(this.targetobj.parentNode.id + "iframe");
this.HideConbox.style.visibility = 'hidden';
wi_Win.className = "dragOn";
//Allows drag
this.dragapproved=1
if (isNaN(parseInt(wi_Win.style.left))){
wi_Win.style.left=0
}
if (isNaN(parseInt(wi_Win.style.top))){
wi_Win.style.top=0
}
this.offsetx=parseInt(wi_Win.style.left)
this.offsety=parseInt(wi_Win.style.top)
this.x=evtobj.clientX
this.y=evtobj.clientY
if (evtobj.preventDefault)
evtobj.preventDefault()
document.onmousemove=wi_DragWin.MoveWin
}
//check if the clicked div is a dragbar
if (this.targetobj.className=="drag-resize"){
var evtobj=window.event? window.event : e
wi_status = document.getElementById(this.targetobj.parentNode.id);
wi_Win = document.getElementById(wi_status.parentNode.id);
wi_iframe = document.getElementById(wi_status.parentNode.id + "iframe");
this.Resizeapproved = 1;
if (isNaN(parseInt(wi_Win.style.left))){
wi_Win.style.left=0
}
if (isNaN(parseInt(wi_Win.style.top))){
wi_Win.style.top=0
}
this.offsetx=parseInt(wi_Win.style.left)
this.offsety=parseInt(wi_Win.style.top)
this.x=evtobj.clientX
this.y=evtobj.clientY
if (evtobj.preventDefault)
evtobj.preventDefault()
document.onmousemove=wi_DragWin.ResizeWin
}
},
MoveWin:function(e){
var evtobj=window.event? window.event : e
if (this.dragapproved==1){
wi_Win.style.left=this.offsetx+evtobj.clientX-this.x+"px"
wi_Win.style.top=this.offsety+evtobj.clientY-this.y+"px"
return false
}
},
ResizeWin:function(e){
var evtobj=window.event? window.event : e
if (this.Resizeapproved==1){
wi_Win.style.height = ((evtobj.clientY+2) - parseInt(wi_Win.style.top)) + "px";
wi_Win.style.width = ((evtobj.clientX+2) - parseInt(wi_Win.style.left)) + "px";
wi_iframe.style.height = ((evtobj.clientY-45) - parseInt(wi_Win.style.top)) + "px";
wi_iframe.style.width = ((evtobj.clientX+2) - parseInt(wi_Win.style.left)) + "px";
return false
}
}
}
