多单位版国产化地质资料管理系统
zhai
2025-12-13 fc0cc9fff4b4cbdc7cbb52b4a96c947530fcbba0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/********************************************************************************
Function:  ptLimitFloat.js
Description:
           限定范围的随机飘浮
Author:
           guye
Finish DateTime:
            2021-6-8 10:58:30
*********************************************************************************/
 
 
/*
限定范围的随机漂浮的例子
    <div id="container"></div>
    <div id="Div2">
        ***** content ******
    </div>
    var ad=new AdMoveLimit("Div2","#container");
    ad.Run();
*/
 
var AdMoveLimitConfig=new Object();
AdMoveLimitConfig.IsInitialized=false;
AdMoveLimitConfig.MoveWidth=0;
AdMoveLimitConfig.MoveHeight=0;
AdMoveLimitConfig.ScrollX=0;
AdMoveLimitConfig.ScrollY=0;
AdMoveLimitConfig.Resize=function(obj){
    var $obj=$(obj);
    AdMoveLimitConfig.MoveWidth=$obj.width();
    AdMoveLimitConfig.MoveHeight=$obj.height();
    
}
function AdMoveLimit(id,container){
    if(!AdMoveLimitConfig.IsInitialized){
        AdMoveLimitConfig.Resize(container);
        AdMoveLimitConfig.IsInitialized=true;
    }
   
    var obj=document.getElementById(id);
    obj.style.position="absolute";
    var W=AdMoveLimitConfig.MoveWidth-obj.offsetWidth;
    var H=AdMoveLimitConfig.MoveHeight-obj.offsetHeight;
    var x = W*Math.random(),y = H*Math.random();
    var rad=(Math.random()+1)*Math.PI/6;
    var kx=Math.sin(rad),ky=Math.cos(rad);
    var dirx = (Math.random()<0.5?1:-1), diry = (Math.random()<0.5?1:-1);
    var step = 1;
    var interval;
    this.SetLocation=function(vx,vy){x=vx;y=vy;}
    this.SetDirection=function(vx,vy){dirx=vx;diry=vy;}
    obj.CustomMethod=function(){
        obj.style.left = (x + AdMoveLimitConfig.ScrollX) + "px";
        obj.style.top = (y + AdMoveLimitConfig.ScrollY) + "px";
        rad=(Math.random()+1)*Math.PI/6;
        W=AdMoveLimitConfig.MoveWidth-obj.offsetWidth;
        H=AdMoveLimitConfig.MoveHeight-obj.offsetHeight;
        x = x + step*kx*dirx;
        if (x < 0){dirx = 1;x = 0;kx=Math.sin(rad);ky=Math.cos(rad);} 
        if (x > W){dirx = -1;x = W;kx=Math.sin(rad);ky=Math.cos(rad);}
        y = y + step*ky*diry;
        if (y < 0){diry = 1;y = 0;kx=Math.sin(rad);ky=Math.cos(rad);} 
        if (y > H){diry = -1;y = H;kx=Math.sin(rad);ky=Math.cos(rad);}
    }
    this.Run=function(){
        var delay = 10;
        interval=setInterval(obj.CustomMethod,delay);
       // obj.onmouseover=function(){clearInterval(interval);}
       // obj.onmouseout=function(){interval=setInterval(obj.CustomMethod, delay);}
    }
}