对了,还有一条要求,代码需要在IE浏览器和Mozilla(或firfox)浏览器中通用。再一次恳请高手指点,多谢了。
解决方案 »
- jquery 中的 event.keyCode 和 event.which 都可以返回按键值,到底有什么区别?
- javascript 中如何调用 ActiveX 的内部方法?
- 怎样将绑定出的时间格式2011-6-3替换成2011/6/3这种格式?菜鸟..在线等
- 关于iframe中显示不了图片的问题
- 用javascript操作asp.net2.0中的treeview中对难的一部分,高分请教!
- 求一个用iframe隐藏帧做的省市级连范例
- IE7 触发OnClick事件时,gif图片不动的问题
- 如何在一个单元格里显示动态时间啊,里面有些代码,在线等,谢谢
- 我的右键菜单显示出来后被压在一个SELECT下面了,怎么办?
- 用JavaScript如何传递参数
- 初学者做的一个东东
- 鼠标的滚轴控制滚动条滚动
昨天,我参考别人的代码写了以下代码:
<HTML>
<HEAD>
<TITLE> Draw a selection box and get the coordinates.</TITLE><SCRIPT LANGUAGE="JavaScript">
<!--var startX = 0;
var startY = 0;
var endX = 0;
var endY = 0;
var bDown = false;function onMouseDown() {
bDown = true;
startX = event.x;
startY = event.y;
rect.style.display = "";
rect.style.border = "1px solid #0000FF";
rect.style.top = startY;
rect.style.left = startX;
rect.style.width = "0px"
rect.style.height = "0px" // show the coordinates
showCoord();
}function onMouseMove() {
if (bDown) {
endX = event.x;
endY = event.y;
rect.style.width = Math.abs(endX -startX) + "px";
rect.style.height = Math.abs(endY -startY) + "px";
if(endX<startX) rect.style.left = startX - Math.abs(endX -startX);
if(endY<startY) rect.style.top = startY - Math.abs(endY -startY);
window.status = "Width:" + Math.abs(endX -startX) + " Height:" + Math.abs(endY -startY); // show the coordinates
showCoord();
}
}function onMouseUp() {
bDown = false;
rect.style.display = "none"; // show the coordinates
showCoord();
}function showCoord() {
var offsetX = window.event.clientX;
var offsetY = window.event.clientY;
showxy.style.display = "";
showxy.style.left = offsetX + document.body.scrollLeft;
showxy.style.top = offsetY + document.body.scrollTop;
showxy.innerText=event.offsetX.toString()+","+event.offsetY.toString();
}function hideDiv() {
rect.style.display = "none";
showxy.style.display = "none";
}//-->
</SCRIPT>
</HEAD><BODY>
<DIV id="showxy" style="POSITION:absolute;color:red">
</DIV>
<DIV id="rect" style="position:absolute;display:none;">
</DIV>
<IMG src="H:/test.jpg"
style="cursor: crosshair"
width="1024" height="768"
onMouseDown="onMouseDown()"
onMouseMove="onMouseMove()"
onMouseUp="onMouseUp"
onMouseOut="hideDiv()" >
</BODY>
</HTML>但是存在几个问题:
1、拖动图片时,会出现禁止符号;
2、矩形选择框的显示会出现逻辑混乱现象;
3、当用MyIE浏览器打开时,只要按下鼠标开始拖动,就会弹出一个新的窗口,将整幅图像显示出来;
4、在Mozilla(或firefox)中无法工作。请高手指点,谢谢。
<HEAD>
<TITLE> Draw a selection box and get the coordinates.</TITLE><SCRIPT LANGUAGE="JavaScript">
<!--var startX = 0;
var startY = 0;
var endX = 0;
var endY = 0;
var bDown = false;function onMouseDown() {
bDown = true;
startX = event.x;
startY = event.y;
rect.style.display = "";
rect.style.border = "1px solid #0000FF";
rect.style.top = startY;
rect.style.left = startX;
rect.style.width = "0px"
rect.style.height = "0px"// show the coordinates
showCoord();
}function onMouseMove() {
if (bDown) {
endX = event.x;
endY = event.y;
rect.style.width = Math.abs(endX -startX) + "px";
rect.style.height = Math.abs(endY -startY) + "px";
rect.style.left = Math.min(endX,startX-1);
rect.style.top = Math.min(endY,startY-1);window.status = "Width:" + Math.abs(endX -startX) + " Height:" + Math.abs(endY -startY);// show the coordinates
showCoord();
}
}function onMouseUp() {
bDown = false;
rect.style.display = "none";// show the coordinates
showCoord();
}function showCoord() {
var offsetX = window.event.clientX;
var offsetY = window.event.clientY;
showxy.style.display = "";
showxy.style.left = offsetX + document.body.scrollLeft;
showxy.style.top = offsetY + document.body.scrollTop;
showxy.innerText=event.offsetX.toString()+","+event.offsetY.toString();
}function hideDiv() {
rect.style.display = "none";
showxy.style.display = "none";
}//-->
</SCRIPT>
</HEAD><BODY>
<DIV id="showxy" style="POSITION:absolute;color:red">
</DIV>
<DIV id="rect" style="position:absolute;display:none;
overflow-y:hidden;
overflow-x:hidden;">
</DIV>
<IMG src="background/深夜星空1024.jpg"
style="cursor: crosshair"
width="1024" height="768"
onMouseDown="onMouseDown();this.setCapture();"
onMouseMove="onMouseMove()"
onMouseUp="onMouseUp();hideDiv();this.releaseCapture();">
</BODY>
</HTML>
如果实在不行,这50分也非你莫属了。过两天我会给分的。
搞不定
javascript不是很熟悉
哎,说是javascript跨平台,我觉得也不过如此。基本上是每个浏览器都用自己的一套,只不过写法上相似罢了。