열확대경 효과 데모
상세 페이지 확대경 효과 수록
Javascript
window.onload = function(){
var oDiv = document.getElementById('div1');
var mark = oDiv.getElementsByTagName('span')[0];
var oDiv2 = document.getElementById('div2');
var img2 = oDiv2.getElementsByTagName('img')[0];
oDiv.onmouseout = function(){
mark.style.display = 'none';
};
oDiv.onmousemove = function(ev){
mark.style.display = 'block';
var ev = ev || window.event;
var L = ev.clientX - oDiv.offsetLeft - mark.offsetWidth/2;
var T = ev.clientY - oDiv.offsetTop - mark.offsetHeight/2;
if(L<0){
L = 0;
}
else if(L>oDiv.offsetWidth - mark.offsetWidth){
L = oDiv.offsetWidth - mark.offsetWidth;
}
if(T<0){
T = 0;
}
else if(T>oDiv.offsetHeight - mark.offsetHeight){
T = oDiv.offsetHeight - mark.offsetHeight;
}
mark.style.left = L + 'px';
mark.style.top = T + 'px';
var scaleX = L/(oDiv.offsetWidth - mark.offsetWidth);
var scaleY = T/(oDiv.offsetHeight - mark.offsetHeight);
img2.style.left = - scaleX * (img2.offsetWidth - oDiv2.offsetWidth) + 'px';
img2.style.top = - scaleY * (img2.offsetHeight - oDiv2.offsetHeight) + 'px';
};
};
HTML
![](small.jpg)
![](big.jpg)
CSS
#div1{ width:180px; height:180px; overflow:hidden; position:relative;top:100px;left:50px;}
#div1 .mark{ width:100px; height:100px; background:yellow; opacity:0.5; filter:alpha(opacity=50); position:absolute; left:0; top:0; display:none;}
#div1 img{width:100%;}
#div2{ width:500px; height:500px; position:absolute; left:250px; top:100px; overflow:hidden;}
#div2 img{ position:absolute; left:0; top:0;width:900px;height:900px;}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.