/*////////////// レイヤ－位置固定用関数 2002.2.1 UseFree
6 ========================================================
7 スクロールしてもレイヤ－の位置が動かないように固定する
8 --------------------------------------------------------
9 Win n4 n6 moz e4 e5 e6 o6,
10 Mac n4 n6 moz e4.5 e5,
11 Linux n4 n6 moz
12 ========================================================
13 更新履歴
14 2002.6.10 -- N4バグ修正
15 2002.2.1 -- Win Oprea6に対応
16
17 ◎使用例
18 fixedLAYER('レイヤ－名',位置,offSetX,offSetY)
19
20 ◎引数解説
21 レイヤ－名: 固定するレイヤー名
22 位置 : (固定するレイヤーの位置をあらわす文字)
23 rightTop 右上 rightBottom 右下
24 leftBottom 左下 leftTop 左上
25 center 中央 * デフォルトはleftTop
26 offSetX : 最寄りの辺(または中心)からのpx距離 水平方向
27 offSetY : 最寄りの辺(または中心)からのpx距離 垂直方向
28
29 Support http://game.gr.jp/js/
30 ======================================================*/
31 function startFixed(){
32
33 /*このstartFixed()関数内へ固定したいレイヤー名などを
34 引数へ書いたfixedLAYER()関数をならべてください。 */
35
36 fixedLAYER('flvplayer','rightTop',-135,400)
37
38 // 例
39 // fixedLAYER('fixedLay0','leftTop',10,10)
40 // fixedLAYER('fixedLay0','leftBottom',10,-30)
41 // fixedLAYER('fixedLay0','rightBottom',-140,-30)
42
43 }
44
45
46 /* -- ここから下はさわらなくてもOK -- */
47
48 var ie = !!document.all
49 var n4 = !!document.layers
50 var w3c= !!document.getElementById
51 var ua = navigator.userAgent
52 var mac45= ua.indexOf('MSIE 4.5; Mac_PowerPC')!=-1
53 var mac5 = ua.indexOf('MSIE5.0;Mac_PowerPC')!=-1
54 var macie = ua.indexOf('Mac_PowerPC')!=-1&&ie
55 var moz = ( ua.indexOf('Gecko')!=-1 )
56 var opr = ( ua.indexOf('Opera')!=-1 )
57
58
59 if(document.layers)window.onresize=resizeFunc
60 function resizeFunc(e){location.reload()}
61 function iniFunc(){
62 if(ie&&!(mac45))window.onscroll = startFixed
63 startFixed()
64 }
65 var tid=new Array()
66
67 function fixedLAYER(layName,posString,offSetX,offSetY){
68
69 offSetX = parseInt(offSetX,10)
70 offSetY = parseInt(offSetY,10)
71
72 if( posString == 'rightTop' ){
73
74 if(ie&&!opr) offLeft = document.body.clientWidth + offSetX
75 else offLeft = window.innerWidth + offSetX
76 if(ie&&!opr) offTop = offSetY
77 else offTop = offSetY
78
79 }
80 else if( posString == 'rightBottom' ){
81
82 if(ie&&!opr) offLeft = document.body.clientWidth + offSetX
83 else offLeft = window.innerWidth + offSetX
84 if(ie&&!opr) offTop = document.body.clientHeight + offSetY
85 else offTop = window.innerHeight + offSetY
86
87 }
88 else if( posString == 'leftBottom' ){
89
90 if(ie&&!opr) offLeft = offSetX
91 else offLeft = offSetX
92 if(ie&&!opr) offTop = document.body.clientHeight + offSetY
93 else offTop = window.innerHeight + offSetY
94
95 }
96 else if( posString == 'center' ){
97
98 if(ie&&!opr) offLeft = document.body.clientWidth/2 + offSetX
99 else offLeft = window.innerWidth/2 + offSetX
100 if(ie&&!opr) offTop = document.body.clientHeight/2+ offSetY
101 else offTop = window.innerHeight/2 + offSetY
102
103 }
104 else {
105
106 if(ie&&!opr) offLeft = offSetX
107 else offLeft = offSetX
108 if(ie&&!opr) offTop = offSetY
109 else offTop = offSetY
110
111 }
112
113 offLeft = parseInt(offLeft)
114 offTop = parseInt(offTop)
115
116 if(document.all&&!opr){
117 var mx = parseInt(document.body.scrollLeft +offLeft)
118 var my = parseInt(document.body.scrollTop +offTop)
119 } else {
120 var mx = parseInt(self.pageXOffset+offLeft)
121 var my = parseInt(self.pageYOffset+offTop)
122
123 }
124 moveLAYER(layName,mx,my)
125
126
127 //WinIE以外 opera n4用
128 if(!(ie&&!mac45) || opr){
129 clearTimeout(fixedLAYER[layName])
130 fixedLAYER[layName]=setTimeout("fixedLAYER('"+layName+"','"+posString
131 +"','" +offSetX+"','"+offSetY+"')",100)
132 }
133 }
134
135 function moveLAYER(layName,x,y){
136
137 if(document.getElementById){ //Moz,NN6,IE5用
138 document.getElementById(layName).style.left=x
139 document.getElementById(layName).style.top=y
140 }
141 else if(document.all){
142 document.all(layName).style.pixelLeft=x //IE4用
143 document.all(layName).style.pixelTop=y
144 }
145 else if(document.layers){
146 document.layers[layName].moveTo(x,y)
147 //NN4用
148 }
149 }
150
1
153
