2018-06-05

 

使用 JS 完成页面定时弹出广告 

 

一、技术分析

 获取图片的位置:(document.getElementById(“”)) 

隐藏图片:display:none

定时操作:setInterval(“显示图片的函数”,3000); 

 

二、步骤分析

  第一步:在页面指定位置隐藏一个广告图片(使用 display 属性的 none 值)

  第二步:确定事件(onload)并为其绑定一个函数

  第三步:书写这个函数(设置一个显示图片的定时操作)

  第四步: 书写定时器中的函数(获取广告图片的位置并设置属性style的display值block)

  第五步:清除显示图片的定时操作()

  第六步:书写隐藏图片的定时操作

  第七步:书写定时器中的函数(获取广告图片的位置并设置属性 style 的 display 值 none)

  第八步:清除隐藏图片的定时操作() 

 

三、代码实现

<script>
     function init(){
        //书写轮播图片的定时操作
        setInterval("changeImg()", 3000);
        //1.设置显示广告的定时操作
        time = setInterval("showAd()",3000);
     }
            
     //书写函数
      var i  = 0;
      function changeImg(){
         i++;
          //获取图片位置并获取src属性
          document.getElementById("img1").src="../img/"+i+".jpg"; 
          if(i==3){
              i = 0;
          }
       }
      //2.书写显示广告图片的函数
      function showAd(){
        //3.获取广告图片的位置
        var adEle = document.getElementById("Ad");
        //4.修改广告图片里面的属性让其显示
        adEle.style.display = "block";
        //5.清除显示广告的定时操作
         clearInterval(time);
         //6.设置隐藏图片的定时操作
         time = setInterval("hiddenAd()",3000);    
      }
                
     //7.书写隐藏广告图片的函数
     function hiddenAd(){
         //8.获取广告图片并设置其style属性的display值为none 
         document.getElementById("Ad").style.display = "none";
         //9.清除隐藏广告图片的定时操作 
         clearInterval(time);
     }
</script>


HTML代码:


<body onload="init()">
        <div id="father">
            <!--定时弹出广告部分-->
            <img src="../img/f001a62f-a49d-4a4d-b56f-2b6908a0002c_g.jpg" width="100%" style="display: none;" id="Ad"/>

------------------------------------------------------------------------------------------

 

四、总结 

4.1 javascript 的引入方式

 
 直接将 javascript 代码写到<script type=”text/javascript”></script>

 需要创建一个.js文件,在里面书写javascript代码,然后在html文件中通过script 标签的 src 属性引入该外部的 js 文件

  

4.2 BOM 对象
  BOM 对象:浏览器对象模型(操作与浏览器相关的内容)
 
 Window 对象表示浏览器中打开的窗口。

     Window 对象方法:

 

setInterval():它有一个返回值,主要是提供给 clearInterval 使用。

       setTimeout():它有一个返回值,主要是提供给 clearTimeout 使用。

       clearInterval():该方法只能清除由 setInterval 设置的定时操作

       clearTimeout():该方法只能清除由 setTimeout 设置的定时操作

 
    Location 对象包含有关当前 URL 的信息。

    href:该属性可以完成通过 JS 代码控制页面的跳转


<html> 

   <head>   

    <meta charset="UTF-8"> 

     <title>location对象</title> 

      <script>   

       function tiao(){   

         window.location.href="http://www.itcast.cn";   

       } 

     </script> 

   </head> 

   <body>   

    <a href="#" onclick="tiao()">跳转到传智播客首页</a> 

   </body>

 </html>


 


 History 对象包含用户(在浏览器窗口中)访问过的 URL。

    History 对象 方法:

      back():加载history列表中前一个URL。

      forword():加载history列表中下一个URL。

      go():加载history列表中的某个具体页面。

 

    历史页面:使用 location 页面(把 href 属性值改为当前的 history)

    History 页面代码: 

<input type="button"  value=" 返回上一个页面" onclick="javascript:history.back()"/>

 

    go(参数) 参数:-1 返回上一个历史记录页面;-2 返回上上一个历史记录页面,1 进入下一个历 史记录页面。

    让按钮点击失效: οnclick=”javascript:volid(0)”

 


该对象开发中不怎么常用)

 

 
该对象开发中不怎么常用)

 

 

 

今日概述:

ECMAScript
1.语法
2.变量:只能使用var定义,如果在函数的内容使用var定义,那么它是一个局部变量,如果没有使用var它是一个全局的。弱类型!
3.数据类型:原始数据类型(undefined/null/string/number/boolean)
4.语句:
5.运算符:==与===的区别
6.函数:两种写法(有命名称,匿名的)

 

BOM对象
window:alert(),prompt(),confirm(),setInterval(),clearInterval(),setTimeout(),clearTimeout()
history:go(参数),back(),forward()
location: href属性

 

事件:
onsubmit()此事件写在form标签中,必须有返回值。
onload()此事件只能写一次并且放到body标签中
其它事件放到需要操作的元素位置。(onclick、onfocus、onblur)

 

获取元素:
document.getElementById("id")
获取元素里面的值:
document.getElementById("id").value

向页面输出
弹窗:alert();……
向浏览器中写入内容:document.write(内容);
向页面指定位置写入内容,innerHTML