写一个停止的函数,取图片的在业面里的位置。存入变量,onmouseover停止,最好把你的原吗贴出来

解决方案 »

  1.   

    好的,这是源码,请看看:
    移动的图片是一朵花,路径pic/flower1.gif
    全部代码如下:
    <body><div><SCRIPT LANGUAGE="JavaScript">
    var isNS = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 4));
    var _all = '';
    var _style = '';
    var wwidth, wheight;
    var ydir = '++';
    var xdir = '++';
    var id1, id2, id3;
    var x = 1;
    var y = 1;
    var x1, y1;
    if(!isNS) {
    _all='all.';
    _style='.style';
    }
    function getwindowsize() {
    clearTimeout(id1);
    clearTimeout(id2);
    clearTimeout(id3);
    if (isNS) {
    wwidth = window.innerWidth - 55;
    wheight = window.innerHeight - 50;
    } else {
    wwidth = document.body.clientWidth - 55;
    wheight = document.body.clientHeight - 50;
    }
    id3 = setTimeout('randomdir()', 20000);
    animate();
    }
    function randomdir() {
    if (Math.floor(Math.random()*2)) {
    (Math.floor(Math.random()*2)) ? xdir='--': xdir='++';
    } else {
    (Math.floor(Math.random()*2)) ? ydir='--': ydir='++';
    }
    id2 = setTimeout('randomdir()', 20000);
    }
    function animate() {
    eval('x'+xdir);
    eval('y'+ydir);
    if (isNS) {
    pic1.moveTo((x+pageXOffset),(y+pageYOffset))
    } else {
    pic1.pixelLeft = x+document.body.scrollLeft;
    pic1.pixelTop = y+document.body.scrollTop;
    }
    if (isNS) {
    if (pic1.top <= 5+pageYOffset) ydir = '++';
    if (pic1.top >= wheight+pageYOffset) ydir = '--';
    if (pic1.left >= wwidth+pageXOffset) xdir = '--';
    if (pic1.left <= 5+pageXOffset) xdir = '++';
    } else {
    if (pic1.pixelTop <= 5+document.body.scrollTop) ydir = '++';
    if (pic1.pixelTop >= wheight+document.body.scrollTop) ydir = '--';
    if (pic1.pixelLeft >= wwidth+document.body.scrollLeft) xdir = '--';
    if (pic1.pixelLeft <= 5+document.body.scrollLeft) xdir = '++';
    }
    id1 = setTimeout('animate()', 30);
    }
    </script>
    <div id="pic1" style="position:absolute; visibility:visible; left:0px; top:0px; z-index:auto">
    <img src="pic/flower.gif" border="0">//这里是移动的图片的路径和文件名。
    </div>
    <script language="javascript">
    var pic1=eval('document.'+_all+'pic1'+_style);
    if (document.layers || document.all) window.onload = getwindowsize;
    </script>
    </div></body>请告诉我在那里写停止函数,以及如何加载变量。非常感谢。
      

  2.   

    试试这个:<script language="javascript">
    <!--
    var pic_X,pic_Y;
    function stopMove()
    {
     window.clearTimeout(id1);
     pic_X = pic1.clientLeft;
     pic_Y = pic1.clientTop;
    }
    function resumeMove()
    {
     id1 = window.setTimeout('animate()', 30);
    }
    window.pic1.attachEvent("onmouseover",stopMove);
    window.pic1.attachEvent("onmouseleave",resumeMove);
    -->
    </script>
      

  3.   

    <body><div><SCRIPT LANGUAGE="JavaScript">
    var IStop=1;
    var isNS = ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion) >= 4));
    var _all = '';
    var _style = '';
    var wwidth, wheight;
    var ydir = '++';
    var xdir = '++';
    var id1, id2, id3;
    var x = 1;
    var y = 1;
    var x1, y1;
    if(!isNS) {
    _all='all.';
    _style='.style';
    }
    function getwindowsize() {
    clearTimeout(id1);
    clearTimeout(id2);
    clearTimeout(id3);
    if (isNS) {
    wwidth = window.innerWidth - 55;
    wheight = window.innerHeight - 50;
    } else {
    wwidth = document.body.clientWidth - 55;
    wheight = document.body.clientHeight - 50;
    }
    id3 = setTimeout('randomdir()', 20000);
    animate();
    }
    function randomdir() {
    if (Math.floor(Math.random()*2)) {
    (Math.floor(Math.random()*2)) ? xdir='--': xdir='++';
    } else {
    (Math.floor(Math.random()*2)) ? ydir='--': ydir='++';
    }
    id2 = setTimeout('randomdir()', 20000);
    }
    function animate() {
    if(IStop==0){
    id1 = setTimeout('animate()', 30);
    return;
    }
    else
    {
    eval('x'+xdir);
    eval('y'+ydir);
    if (isNS) {
    pic1.moveTo((x+pageXOffset),(y+pageYOffset))
    } else {
    pic1.pixelLeft = x+document.body.scrollLeft;
    pic1.pixelTop = y+document.body.scrollTop;
    }
    if (isNS) {
    if (pic1.top <= 5+pageYOffset) ydir = '++';
    if (pic1.top >= wheight+pageYOffset) ydir = '--';
    if (pic1.left >= wwidth+pageXOffset) xdir = '--';
    if (pic1.left <= 5+pageXOffset) xdir = '++';
    } else {
    if (pic1.pixelTop <= 5+document.body.scrollTop) ydir = '++';
    if (pic1.pixelTop >= wheight+document.body.scrollTop) ydir = '--';
    if (pic1.pixelLeft >= wwidth+document.body.scrollLeft) xdir = '--';
    if (pic1.pixelLeft <= 5+document.body.scrollLeft) xdir = '++';
    }
    id1 = setTimeout('animate()', 30);
    }
    }
    </script>
    <div id="pic1" style="position:absolute; visibility:visible; left:0px; top:0px; z-index:auto">
    <img src="pic/flower.gif" border="0" onmouseover="IStop=1" onmouseout="IStop=0">//这里是移动的图片的路径和文件名。
    </div>
    <script language="javascript">
    var pic1=eval('document.'+_all+'pic1'+_style);
    if (document.layers || document.all) window.onload = getwindowsize;
    </script>
    </div></body>
      

  4.   

    onmouseover处理一下就可以了
    传递img的obj对象过去
    就是用this吧
    然后调用一个函数停下来