2017-07-06 36 views
0

所以,我有沒有換行的代碼,但不起作用onLoad。有人可以向我解釋爲什麼這不起作用嗎? 我試圖讓我的網絡應用程序工作,但JavaScript不工作。但是,當我將它插入小提琴時,它會在從onLoad更改爲無包裝時起作用。JavaScript沒有換行,但沒有用jsfiddle加載

function zoomIn(event) { 
 
    var element = document.getElementById("overlay0"); 
 
    element.className = "overlay"; 
 
    element.style.display = "inline-block"; 
 
    var img = document.getElementById("imgZoom0"); 
 
    var posX = event.offsetX ? (event.offsetX) : event.pageX - img.offsetLeft; 
 
    var posY = event.offsetY ? (event.offsetY) : event.pageY - img.offsetTop; 
 
    element.style.backgroundPosition=(-posX*2)+"px "+(-posY*4)+"px"; 
 

 
} 
 

 
function zoomOut() { 
 
    var element = document.getElementById("overlay0"); 
 
    element.style.display = "none"; 
 
}
.overlay{ 
 
    border:1px solid black; 
 
    width:350px; 
 
    height:200px; 
 
    display:none; 
 
    background-image:url('http://ginger-mum.com/wp-content/uploads/2015/10/3633-1269758855-0da5042c33400a811a5d766be4579cb8.jpg'); 
 
    background-repeat:no-repeat; 
 
    
 
}
<img id="imgZoom0" onmousemove="zoomIn(event)" onmouseout="zoomOut()" src="https://apparelpop.s3-us-west-1.amazonaws.com/images/DEA411-AT.jpg" alt="Dea411 at" width="150" height="150" /> 
 
<div id=overlay0 onmousemove="zoomIn(event)"></div>

+0

onLoad to no wrap是什麼意思? – Volem

+1

內聯js中的函數調用需要是全局的,通過在onload中定義它們,它們不是全局的 –

+0

在onload中如何定義我的函數? – Doughtz

回答

0

因爲當你使用onLoad選項的代碼被包裝在一個負載事件處理程序.....這樣的:

window.onload = function(){ 
    // your code ends up here  
} 

所以你的職責範圍是不是在全局窗口空間中,他們需要能夠從dom調用它們。