您的位置:首页 > 编程语言

【原】可关闭,可重播的flash弹出广告代码

2014-06-25 00:00 253 查看
以前都是下别人的过来改,老是出现各种各样的莫名其妙的问题。今天终于爆发了。自己写了一个。还是学到一些东西的。不多说,上代码:





代码

1
var
popFlash
=

new
Object();

2
popFlash
=
{

3

//
初始化

4

init :
function
(options){

5

if
(
typeof
(options)
!=
'
object
'
){

6

return

false
;

7
}

8

//
初始化参数

9

this
.options
=
{

10

//
广告显示宽度

11

width : (options.width
?
options.width :
500
),

12

//
广告显示高度

13

height : (options.height
?
options.height :
300
),

14

//
广告显示时长

15

showTime : (options.showTime
?
options.showTime :
5000
),

16

//
广告插件基准路径

17

basePath : (options.bathPath
?
options.basePath :
""
),

18

//
swf文件名

19

swfSrc : (options.swfSrc
?
options.swfSrc :
"
ad.swf
"
),

20

//
缩略图文件名

21

iodSrc : (options.iocSrc
?
options.iocSrc :
"
ioc.gif
"
),

22

//
广告指向的链接

23

adHref : (options.adHref
?
options.adHref :
"
about:blank
"
)

24
}

25
},

26

27

//
拼装打开状态的html

28

createOpenedHtml :
function
() {

29

var
openedHtml
=

""
;

30
openedHtml
+=

'
<div id="openedLayer" style="width:
'
+

this
.options.width
+
'
px; height:
'
+

this
.options.height
+
'
px; display:block;">
'
;

31
openedHtml
+=

'
<div style="position:relative">
'
;

32
openedHtml
+=

'
<div id="closer" style="cursor:pointer;" onclick="javascript:popFlash.hidden();" >
'
;

33
openedHtml
+=

'
<img src="
'
+
this
.options.basePath
+
'
closer.gif" border="0"/>
'
;

34
openedHtml
+=

'
</div>
'
;

35
openedHtml
+=

'
<a href="
'
+

this
.options.adHref
+
'
" target="_blank" style="padding:0;margin:0;position:absolute;">
'
;

36
openedHtml
+=

'
<img src="
'
+

this
.options.basePath
+
'
blank.gif" width="
'
+

this
.options.width
+
'
" height="
'
+

this
.options.height
+
'
" border="0" />
'
;

37
openedHtml
+=

'
</a>
'
;

38
openedHtml
+=

'
<OBJECT id="swfObj" codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0 height=
'
+
this
.options.height;

39
openedHtml
+=

'
width=
'
+
this
.options.width
+
'
classid=clsid:d27cdb6e-ae6d-11cf-96b8-444553540000>
'
;

40
openedHtml
+=

'
<PARAM NAME="_cx" VALUE="20320"/><PARAM NAME="_cy" VALUE="2117"/>
'
;

41
openedHtml
+=

'
<PARAM NAME="FlashVars" VALUE=""/><PARAM NAME="Movie" VALUE="
'
+
this
.options.basePath
+
this
.options.swfSrc
+
'
"/>
'
;

42
openedHtml
+=

'
<PARAM NAME="Src" VALUE="
'
+
this
.options.basePath
+
this
.options.swfSrc
+
'
"/><PARAM NAME="WMode" VALUE="Transparent"/>
'
;

43
openedHtml
+=

'
<PARAM NAME="Play" VALUE="-1"/><PARAM NAME="Loop" VALUE="-1"/>
'
;

44
openedHtml
+=

'
<PARAM NAME="Quality" VALUE="High"/><PARAM NAME="SAlign" VALUE=""/>
'
;

45
openedHtml
+=

'
<PARAM NAME="Menu" VALUE="0"/><PARAM NAME="Base" VALUE=""/>
'
;

46
openedHtml
+=

'
<PARAM NAME="AllowScriptAccess" VALUE="always"/><PARAM NAME="DeviceFont" VALUE="0"/>
'
;

47
openedHtml
+=

'
<PARAM NAME="EmbedMovie" VALUE="0"/><PARAM NAME="BGColor" VALUE=""/>
'
;

48
openedHtml
+=

'
<PARAM NAME="SWRemote" VALUE=""/><PARAM NAME="MovieData" VALUE=""/>
'
;

49
openedHtml
+=

'
<PARAM NAME="SeamlessTabbing" VALUE="1"/><PARAM NAME="Profile" VALUE="0"/>
'
;

50
openedHtml
+=

'
<PARAM NAME="ProfileAddress" VALUE=""/><PARAM NAME="ProfilePort" VALUE="0"/>
'
;

51
openedHtml
+=

'
<PARAM NAME="AllowNetworking" VALUE="all"/><PARAM NAME="AllowFullScreen" VALUE="false"/>
'
;

52
openedHtml
+=

'
<embed allowscriptaccess="always" menu="false" width="
'
+
this
.options.width
+
'
" height="
'
+
this
.options.height
+
'
" wmode="Transparent"
'
;

53
openedHtml
+=

'
src="
'
+
this
.options.basePath
+
this
.options.swfSrc
+
'
" quality="high"
'
;

54
openedHtml
+=

'
pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" name="swfObj"></embed>
'
;

55
openedHtml
+=

'
</OBJECT>
'
;

56
openedHtml
+=

'
<iframe id="asdIframe" src="about:blank" style="position:absolute; visibility:inherit;width:
'
+
this
.options.width
+
'
px;height:
'
+
this
.options.height
+
'
px;
'
;

57
openedHtml
+=

'
z-index:-1;filter:Alpha(Opacity=0); opacity:0.0; MozOpacity:0.0; KhtmlOpacity:0.0;left:0px;top:0px;"></iframe>
'
;

58
openedHtml
+=

'
</div>
'
;

59
openedHtml
+=

'
</div>
'
;

60

61

return
openedHtml;

62
},

63

64

//
拼装关闭状态的html

65

createClosedHmtl :
function
(){

66

var
closedHtml
=

''
;

67
closedHtml
+=

'
<div id="closedLayer" style="position:absolute;left:0px;top:0px; display:block;">
'
;

68
closedHtml
+=

'
<img src="
'
+
this
.options.basePath
+
'
ioc.gif" />
'
;

69
closedHtml
+=

'
<div style="width:76px;padding:2px;height:15px;">
'
;

70
closedHtml
+=

'
<div style="float:left;">
'
;

71
closedHtml
+=

'
<img src="
'
+
this
.options.basePath
+
'
replay_little.gif" border="0" onclick="popFlash.show();" style="cursor:pointer" />
'
;

72
closedHtml
+=

'
</div>
'
;

73
closedHtml
+=

'
<div style="float:right">
'
;

74
closedHtml
+=

'
<img src="
'
+
this
.options.basePath
+
'
close_little.gif" border="0" onclick="popFlash.closeAd();" style="cursor:pointer" />
'
;

75
closedHtml
+=

'
</div>
'
;

76
closedHtml
+=

'
</div>
'
;

77
closedHtml
+=

'
</div>
'
;

78

return
closedHtml;

79
},

80

81

//
显示广告

82

show :
function
(){

83

//
隐藏关闭状态

84

var
closedLayer
=
document.getElementById(
"
closedLayer
"
);

85

if
(closedLayer
&&
closedLayer.style.display
==

"
block
"
) {

86
closedLayer.style.display
=

"
none
"
;

87
}

88

//
显示打开状态

89

var
openedLayer
=
document.getElementById(
"
openedLayer
"
);

90

if
( openedLayer
&&
openedLayer.style.display
==

"
none
"
){

91
openedLayer.style.display
=

"
block
"
;

92
}
else
{

93

//
document.writeln(popFlash.createOpenedHtml());

94

document.body.innerHTML
+=
popFlash.createOpenedHtml();

95
}

96
popFlash.setPosition();

97

98

//
到了显示时长就影藏

99

this
.timer
=
setTimeout(
"
popFlash.hidden()
"
,
this
.options.showTime);

100

101
},

102

103

//
影藏广告

104

hidden :
function
(){

105
clearTimeout(
this
.timer);

106

//
影藏打开装态

107

var
openedLayer
=
document.getElementById(
"
openedLayer
"
);

108

if
(openedLayer
&&
openedLayer.style.display
==

"
block
"
) {

109
openedLayer.style.display
=

"
none
"
;

110
}

111

112

//
显示关闭状态

113

var
closedLayer
=
document.getElementById(
"
closedLayer
"
);

114

if
( closedLayer
&&
closedLayer.style.display
==

"
none
"
){

115
closedLayer.style.display
=

"
block
"
;

116
}
else
{

117

//
document.writeln(popFlash.createClosedHmtl());

118

document.body.innerHTML
+=
popFlash.createClosedHmtl();

119
}

120
popFlash.setPosition();

121
},

122

123

//
彻底关闭广告

124

closeAd :
function
(){

125

var
openedLayer
=
document.getElementById(
"
openedLayer
"
);

126

var
closedLayer
=
document.getElementById(
"
closedLayer
"
);

127

128

if
(openedLayer){

129
openedLayer.innerHTML
=

""
;

130
}

131

if
(closedLayer){

132
closedLayer.innerHTML
=

""
;

133
}

134
},

135

136

//
设置广告显示的位置

137

setPosition :
function
(){

138

var
openedLayer
=
document.getElementById(
"
openedLayer
"
);

139

var
closedLayer
=
document.getElementById(
"
closedLayer
"
);

140

141

if
(openedLayer){

142

var
marginLeft
=

this
.options.width
/
2;

143

var
marginTop
=

this
.options.height
/
2;

144

var
css
=

"
position:absolute;top:50%;left:50%;margin-left:-
"
+
marginLeft
+
"
px;margin-top:-
"
+
marginTop
+
"
px;
"
;

145
css
+=

"
width:
"
+
this
.options.width
+
"
px;height:
"
+
this
.options.height
+
"
px;
"
;

146

147
openedLayer.style.cssText
+=
css;

148
}

149

150

if
(closedLayer){

151

var
css
=

"
position:absolute;top:50%;left:100%;margin-left:-100px;margin-top:-40px;
"
;

152
css
+=

"
width:80px;height:80px;
"
;

153

154
closedLayer.style.cssText
+=
css;

155
}

156
}

157
}

使用方法也很简单:





代码

1
<!
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>

2

<
html
xmlns
="http://www.w3.org/1999/xhtml"
>

3

<
head
>

4

<
meta
http-equiv
="Content-Type"
content
="text/html; charset=utf-8"

/>

5

<
title
>
无标题文档
</
title
>

6

<
script
type
="text/javascript"
language
="javascript"
src
="popFlash.js"
></
script
>

7

</
head
>

8

9

<
body
>

10

<
script
>

11
popFlash.init({width:
700
,height:
275
});

12
popFlash.show();

13

</
script
>

14

</
body
>

15

</
html
>

init的参数可以参照源码中的options对象,缺省的可以不写
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: