我觉得应该的结果是 当点了div后(鼠标不要动),最后div会消失在鼠标点的位置
ie下是这样的 ff下却莫名的多了一些出来了 感觉计算的过程好象也没有错误(只是感觉呀)
各位大虾指教下吧........
<body style="margin:0px; padding:0px;">
<div id='ss' style="height:300px; width:400px; border:1px solid #999999; position:absolute; left:50px; top:50px;"></div>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<div id='ssss'>wer</div><br>
<div id='sss'>wer</div><br>
<div id='sssss'>wer</div>
<script>
var time = null;
var step = 50;
var i =0;
var tatol=[];
function $(Id){return document.getElementById(Id)};
var CurrentStyle = function(element){
return element.currentStyle || document.defaultView.getComputedStyle(element, null);
};
$('ss').onclick =function(event){
var e = event||window.event;
tatol = [CurrentStyle(this).left,CurrentStyle(this).top,parseInt(CurrentStyle(this).width),parseInt(CurrentStyle(this).height)]
var _x = (e.offsetX||e.pageX)/50;
var _y = (e.offsetY||e.pageY)/50;
var _w = parseInt(tatol[2])/50;
var _h = parseInt(tatol[3])/50;
$('ssss').innerHTML ="变化直 x:"+ 50*_x+" y: "+50*_y
time =setInterval(function(){
i++;
if(i==51){clearTimeout(time);return}
$('ss').style.width = tatol[2]-i*_w+'px';
$('ss').style.height = tatol[3]-i*_h+'px';
$('ss').style.left = parseInt(tatol[0])+i*_x+'px';
$('ss').style.top = parseInt(tatol[1])+i*_y+'px';
$('sss').innerHTML = "逐步变化 X:"+_x*i +" Y:"+_y*i;
$('sssss').innerHTML ='div的变化left:'+(parseInt(tatol[0])+i*_x)+" top:"+(parseInt(tatol[1])+i*_y)
},2)
}
</script>
</body>
ie下是这样的 ff下却莫名的多了一些出来了 感觉计算的过程好象也没有错误(只是感觉呀)
各位大虾指教下吧........
<body style="margin:0px; padding:0px;">
<div id='ss' style="height:300px; width:400px; border:1px solid #999999; position:absolute; left:50px; top:50px;"></div>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<div id='ssss'>wer</div><br>
<div id='sss'>wer</div><br>
<div id='sssss'>wer</div>
<script>
var time = null;
var step = 50;
var i =0;
var tatol=[];
function $(Id){return document.getElementById(Id)};
var CurrentStyle = function(element){
return element.currentStyle || document.defaultView.getComputedStyle(element, null);
};
$('ss').onclick =function(event){
var e = event||window.event;
tatol = [CurrentStyle(this).left,CurrentStyle(this).top,parseInt(CurrentStyle(this).width),parseInt(CurrentStyle(this).height)]
var _x = (e.offsetX||e.pageX)/50;
var _y = (e.offsetY||e.pageY)/50;
var _w = parseInt(tatol[2])/50;
var _h = parseInt(tatol[3])/50;
$('ssss').innerHTML ="变化直 x:"+ 50*_x+" y: "+50*_y
time =setInterval(function(){
i++;
if(i==51){clearTimeout(time);return}
$('ss').style.width = tatol[2]-i*_w+'px';
$('ss').style.height = tatol[3]-i*_h+'px';
$('ss').style.left = parseInt(tatol[0])+i*_x+'px';
$('ss').style.top = parseInt(tatol[1])+i*_y+'px';
$('sss').innerHTML = "逐步变化 X:"+_x*i +" Y:"+_y*i;
$('sssss').innerHTML ='div的变化left:'+(parseInt(tatol[0])+i*_x)+" top:"+(parseInt(tatol[1])+i*_y)
},2)
}
</script>
</body>
<body style="margin:0px; padding:0px;">
<div id='ss' style="height:300px; width:400px; border:1px solid #999999; position:absolute; left:50px; top:50px;"></div>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<div id='ssss'>wer</div><br>
<div id='sss'>wer</div><br>
<div id='sssss'>wer</div>
<script>
var time = null;
var step = 50;
var i =0;
var tatol=[];
function $(Id){return document.getElementById(Id)};
var CurrentStyle = function(element){
return element.currentStyle || document.defaultView.getComputedStyle(element, null);
};
$('ss').onclick =function(event){
var e = event||window.event;
tatol = [CurrentStyle(this).left,CurrentStyle(this).top,parseInt(CurrentStyle(this).width),parseInt(CurrentStyle(this).height)]
var _x = (e.offsetX||(e.clientX-parseInt(tatol[0])))/50;
var _y = (e.offsetY||(e.clientY-parseInt(tatol[1])))/50;
var _w = parseInt(tatol[2])/50;
var _h = parseInt(tatol[3])/50;
$('ssss').innerHTML ="变化直 x:"+ 50*_x+" y: "+50*_y
time =setInterval(function(){
i++;
if(i==51){clearTimeout(time);return}
$('ss').style.width = tatol[2]-i*_w+'px';
$('ss').style.height = tatol[3]-i*_h+'px';
$('ss').style.left = parseInt(tatol[0])+i*_x+'px';
$('ss').style.top = parseInt(tatol[1])+i*_y+'px';
$('sss').innerHTML = "逐步变化 X:"+_x*i +" Y:"+_y*i;
$('sssss').innerHTML ='div的变化left:'+(parseInt(tatol[0])+i*_x)+" top:"+(parseInt(tatol[1])+i*_y)
},2)
}
</script>
</body>
var _x = (e.offsetX||(e.clientX-parseInt(tatol[0])))/50;
var _y = (e.offsetY||(e.clientY-parseInt(tatol[1])))/50;
FF 3.0.6的
pageX好象理解错了
多谢各位了!~
e.offsetX||e.pageX两个不同的东西怎么可以这样操作呢