마우스클릭위치 IE, FF, Safari, Opera, Chrome Tested
페이지 정보
작성자 서방님 댓글 0건 조회 238회 작성일 12-05-29 17:50본문
기존에 포스팅 돼있던거 브라우저별로 모두 동작하지 않아 새로 작업
실행은 onclick="view_layer(event);" 이런 식으로
ps.FF경우 document.body 안됨
IE의 경우 document.documentElement 가 버전별로 되거나 안됨
그래서 브라우져별로 분리
요건 클릭위치
<script type="text/javascript">
function view_layer(e){
var tmpBrowser = "none";
var userAgent = navigator.userAgent;
if (userAgent.indexOf("MSIE") > -1){tmpBrowser = "IE";}
e = e || window.event; // 이거도 추가해주심 좋을것 같고..
if(tmpBrowser == "IE"){
var x = event.screenX - window.screenLeft - document.body.clientLeft + document.body.scrollLeft - event.offsetX;
var y = event.screenY - window.screenTop - document.body.clientTop + document.body.scrollTop - event.offsetY;
}else{
var x = e.pageX ? e.pageX : document.documentElement.scrollLeft+event.clientX;
var y = e.pageY ? e.pageY : document.documentElement.scrollTop+event.clientY;
}
var d = document.getElementById('lay'); // 보여주고자하는 레이어
d.style.display = 'block';
d.style.left = x+'px';
d.style.top = y+'px'; // 클릭된 x,y 위치에 뿌려줘라...
}
</script>
요건 x축 중앙 / y축 클릭위치
<script type="text/javascript">
function BGContentActive(e,ConType,Idvalue,ConWidth,ConHeight){
var tmpBrowser = "none";
var userAgent = navigator.userAgent;
if (userAgent.indexOf("MSIE") > -1){tmpBrowser = "IE";}
e = e || window.event; // 이거도 추가해주심 좋을것 같고..
if(tmpBrowser == "IE"){
//var x = event.screenX - window.screenLeft - document.body.clientLeft + document.body.scrollLeft - event.offsetX;
var x = document.body.clientWidth;
var y = event.screenY - window.screenTop - document.body.clientTop + document.body.scrollTop - event.offsetY;
}else{
//var x = e.pageX ? e.pageX : document.documentElement.scrollLeft+event.clientX;
var x = document.documentElement.clientWidth;
var y = e.pageY ? e.pageY : document.documentElement.scrollTop+event.clientY;
}
if(ConType == "MapPrint"){ //Ajax : 변수를 이용해 활성화된 레이어내용 표시
$.ajax({
type:"POST",
url:"/lib/BGContent.php",
data:"&Idvalue="+Idvalue+"&ConType="+ConType,
success:function(html){
//alert(html);
BGCTop = y - ConHeight/2;
BGCLeft = x/2 - ConWidth/2;
document.getElementById("DivPopContent").style.top = BGCTop+'px';
document.getElementById("DivPopContent").style.left = BGCLeft+'px';
document.getElementById("DivPopContent").style.display = "block";
$("#DivPopContent").html(html);
}
});
}
}
</script>
댓글목록
등록된 댓글이 없습니다.