js模仿地图放大缩小

js模仿地图放大缩小源代码其中注意:
javascript document.body.clientWidth;缺少对象错误 
必须在html文档被加载完成后才能获取clientWidth值因此这句话最好放在window.onload 事件函数中调用window.onload = function(){ doc_width=document.body.clientWidth; document.write(doc_width); }另外,document.all 只在ie有效,在其他浏览器是没有的。

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>可控制图片放大缩小还原移动效果的JS网页图片查看器</title>
<meta http-equiv="imagetoolbar" content="no">
<style type="text/css">
    body
    {
        font-family: "Verdana" , "Arial" , "Helvetica" , "sans-serif";
        font-size: 12px;
        line-height: 180%;
    }
    td
    {
        font-size: 12px;
        line-height: 150%;
    }
</style>
<script language="JavaScript">
    drag = 0
    move = 0

    // 拖拽对象
    // 参见:http://blog.sina.com.cn/u/4702ecbe010007pe
    var ie = document.all;
    var nn6 = document.getElementById && !document.all;
    var isdrag = false;
    var y, x;
    var oDragObj;

    function moveMouse(e) {
        if (isdrag) {
            oDragObj.style.top = (nn6 ? nTY + e.clientY - y : nTY + event.clientY - y) + "px";
            oDragObj.style.left = (nn6 ? nTX + e.clientX - x : nTX + event.clientX - x) + "px";
            return false;
        }
    }

    function initDrag(e) {
        var oDragHandle = nn6 ? e.target : event.srcElement;
        var topElement = "HTML";
        while (oDragHandle.tagName != topElement && oDragHandle.className != "dragAble") {
            oDragHandle = nn6 ? oDragHandle.parentNode : oDragHandle.parentElement;
        }
        if (oDragHandle.className == "dragAble") {
            isdrag = true;
            oDragObj = oDragHandle;
            nTY = parseInt(oDragObj.style.top + 0);
            y = nn6 ? e.clientY : event.clientY;
            nTX = parseInt(oDragObj.style.left + 0);
            x = nn6 ? e.clientX : event.clientX;
            document.onmousemove = moveMouse;
            return false;
        }
    }
    document.onmousedown = initDrag;
    document.onmouseup = new Function("isdrag=false");

    function clickMove(s) {
        if (s == "up") {
            dragObj.style.top = parseInt(dragObj.style.top) + 100;
        } else if (s == "down") {
            dragObj.style.top = parseInt(dragObj.style.top) - 100;
        } else if (s == "left") {
            dragObj.style.left = parseInt(dragObj.style.left) + 100;
        } else if (s == "right") {
            dragObj.style.left = parseInt(dragObj.style.left) - 100;
        }

    }

    function smallit() {
        var height1 = images1.height;
        var width1 = images1.width;
        images1.height = height1 / 1.2;
        images1.width = width1 / 1.2;
    }

    function bigit() {
        var height1 = images1.height;
        var width1 = images1.width;
        images1.height = height1 * 1.2;
        images1.width = width1 * 1.2;
    }
    function realsize() {
        images1.height = images2.height;
        images1.width = images2.width;
        block1.style.left = 0;
        block1.style.top = 0;

    }

    window.onload = function () {
        var height1 = document.body.clientHeight;
        var width1 = document.body.clientWidth;
        images1.height = height1 ;
        images1.width = width1;
    }



</script>
<!--<script language="JavaScript" type="text/JavaScript">
    function MM_reloadPage(init) {
        alert("b");
     //reloads the window if Nav4 resized
        if (init == true) with (navigator) {
            if ((appName == "Netscape") && (parseInt(appVersion) == 4)) {
                alert("1");
                document.MM_pgW = innerWidth; document.MM_pgH = innerHeight; onresize = MM_reloadPage;
            }
        }
        else if (innerWidth != document.MM_pgW || innerHeight != document.MM_pgH) {
            alert("2");
            location.reload();
        }
    }
    MM_reloadPage(true);
</script>-->
<style type="text/css">
<!--
td, a { font-size:12px; color:#000000 }
#Layer1 { position:absolute; z-index:100; top: 10px; }
#Layer2 { position:absolute; z-index:1; }
-->
</style>
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" οncοntextmenu="return false"
    οndragstart="return false" onselectstart="return false" οnselect="document.selection.empty()"
    οncοpy="document.selection.empty()" onbeforecopy="return false" οnmοuseup="document.selection.empty()"
    style="overflow-y: hidden; overflow-x: hidden;">
    <div id="Layer1">
        <table border="0" cellspacing="2" cellpadding="0">
            <tr>
                <td>
                </td>
                <td>
                    <img src="up.gif" width="20" height="20" style="cursor: hand" οnclick="clickMove('up')"
                        title="向上">
                </td>
                <td>
                </td>
            </tr>
            <tr>
                <td>
                    <img src="left.gif" width="20" height="20" style="cursor: hand" οnclick="clickMove('left')"
                        title="向左">
                </td>
                <td>
                    <img src="zoom.gif" width="20" height="20" style="cursor: hand" οnclick="realsize();"
                        title="还原">
                </td>
                <td>
                    <img src="right.gif" width="20" height="20" style="cursor: hand" οnclick="clickMove('right')"
                        title="向右">
                </td>
            </tr>
            <tr>
                <td>
                </td>
                <td>
                    <img src="down.gif" width="20" height="20" style="cursor: hand" οnclick="clickMove('down')"
                        title="向下">
                </td>
                <td>
                </td>
            </tr>
            <tr>
                <td>
                </td>
                <td>
                    <img src="zoom_in.gif" width="20" height="20" style="cursor: hand" οnclick="bigit();"
                        title="放大">
                </td>
                <td>
                </td>
            </tr>
            <tr>
                <td>
                </td>
                <td>
                    <img src="zoom_out.gif" width="20" height="20" style="cursor: hand" οnclick="smallit();"
                        title="缩小">
                </td>
                <td>
                </td>
            </tr>
        </table>
    </div>
    <div id='hiddenPic' style='position: absolute; left: 0px; top: 0px; width: 0px; height: 0px;
        z-index: 1; visibility: hidden;'>
        <img name='images2' src='mm.jpg' border='0'  />
    </div>
    <div id='block1' οnmοuseοut='drag=0' οnmοuseοver='dragObj=block1; drag=1;' style='z-index: 10;
        height: 0; left: 0px; position: absolute; top: 0px; width: 0' class="dragAble">
        <img name='images1' src='mm.jpg' border='0' />
    </div>
</body>
</html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值