zoukankan      html  css  js  c++  java
  • 【原】可关闭,可重播的flash弹出广告代码

    以前都是下别人的过来改,老是出现各种各样的莫名其妙的问题。今天终于爆发了。自己写了一个。还是学到一些东西的。不多说,上代码:
    代码
      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="'+ 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;'+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="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 += ""+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 += "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({700,height:275});
    12     popFlash.show();
    13 </script>
    14 </body>
    15 </html>

    init的参数可以参照源码中的options对象,缺省的可以不写

  • 相关阅读:
    Leetcode 238. Product of Array Except Self
    Leetcode 103. Binary Tree Zigzag Level Order Traversal
    Leetcode 290. Word Pattern
    Leetcode 205. Isomorphic Strings
    Leetcode 107. Binary Tree Level Order Traversal II
    Leetcode 102. Binary Tree Level Order Traversal
    三目运算符
    简单判断案例— 分支结构的应用
    用switch判断月份的练习
    java基本打印练习《我行我素购物系统》
  • 原文地址:https://www.cnblogs.com/coffee/p/1662902.html
Copyright © 2011-2022 走看看