浮动广告代码实例「建议收藏」

浮动广告代码实例「建议收藏」很多网站的页面都有漂浮的广告效果,虽然烦人,但也确实起到了良好的宣传效果。各大代码网站也有关于漂浮代码的实例,很多存在着兼容性问题,不符合W3C标准,本站修复了兼容性问题,下面就简单介绍一下如何实现此效果。代码如下:[HTML]纯文本查看复制代码运行代码0102030405060708091011121314151617181920212223242526272829303

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

很多网站的页面都有漂浮的广告效果,虽然烦人,但也确实起到了良好的宣传效果。

各大代码网站也有关于漂浮代码的实例,很多存在着兼容性问题,不符合W3C标准,本站修复了兼容性问题,下面就简单介绍一下如何实现此效果。

代码如下:

 
 
 
[HTML] 纯文本查看 复制代码 运行代码
01
02
03
04
05
06
07
08
09
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
<!DOCTYPE html> 
< html
< head
< meta  charset = " utf-8"
< head >
< title >浮动广告</ title >
< script  type = "text/javascript"
window.onload=function(){
   var x=50,y=60; 
   var xin=true, yin=true; 
   var step=1; 
   var delay=10; 
   var obj=document.getElementById("ad"); 
   function float(){ 
     var L=T=0;
     var R=document.documentElement.clientWidth-obj.offsetWidth; 
     var B =document.documentElement.clientHeight-obj.offsetHeight; 
     obj.style.left=(x+document.body.scrollLeft||document.documentElement.scrollLeft)+"px";
     obj.style.top=(y+document.body.scrollTop||document.documentElement.scrollTop)+"px";
     x = x + step*(xin?1:-1); 
     if(x < L){ xin = true; x = L} 
     if(x > R){ xin = false; x = R} 
     y=y + step*(yin?1:-1) 
     if(y < T){ yin = true; y = T } 
     if(y > B){ yin = false; y = B } 
  
   var flag= setInterval(float, delay) 
   obj.onmouseover=function(){clearInterval(flag)} 
   obj.onmouseout=function(){flag=setInterval(float, delay)} 
}
</ script >
< body >
< div  id = "ad"  style = "position:absolute" >
   < a  href = "#"  target = "_blank" >
     < img  src = "mytest/JS/ad.jpg"  border = "0" >
   </ a >
</ div >
</ body >
</ html >

图片可以在文档中随机的漂浮,下面就简单介绍一下如何实现此效果。

一.实现原理:

将div块采用绝对定位,里面包裹着图片,实际上是这个div块进行漂浮。然后通过定时器函数不断调用float来实现div的漂浮效果,此函数能够判断div块是否碰触边缘,然后再进行位置调整。

二.代码注释:

(1).window.οnlοad=function(){},当文档完全加载完成再去执行函数中的代码。

(2).var x=50,y=60,声明两个变量x和y用来存放漂浮div的初始坐标。

(3). var xin=true, yin=true,设置两个标志。

(4).var step=1,设置div漂浮的幅度。

(5).var delay=10,用来设置定时器函数执行的时间间隔。

(6).var obj=document.getElementById(“ad”),获取id属性值为ad的对象。

(7).function float(){},此函数规定了div块的漂浮原则。

(8).var L=T=0,声明两个变量并赋值为零,用来判断div块是否已经到达网页的左边缘和下边缘。

(9).ar R=document.documentElement.clientWidth-obj.offsetWidth,可见宽度减去div块的宽度,也就是剩余空间的宽度。

(10).var B=document.documentElement.clientHeight-obj.offsetHeight,可见高度减去div块的高度,也就是剩余空间的高度。

(11).obj.style.left=(x+document.body.scrollLeft||document.documentElement.scrollLeft)+”px”,用来规定div的left属性值,之所以使用scrollleft是因为有可能网页的宽度过宽出现横向滚动条,之所以使用||是为了消除浏览器兼容性问题。

(12).obj.style.top=(y+document.body.scrollTop||document.documentElement.scrollTop)+”px”,这个和上面同理,不过方位不一样。

(13).x=x+step*(xin?1:-1),计算x的值。

(14).if(x < L){ xin = true; x = L} ,如果div块到达网页的左边缘,如果是的话将xin的值设置为true,并且将x的值设置为L,即为零。

(15).if(x > R){ xin = false; x = R} ,如果div块到达网页的右边缘,则将xin的值色织为false,并将x的值的设置为r。

(16).var flag=setInterval(float,delay) ,使用定时器函数调用float()函数。

(17).obj.οnmοuseοver=function(){clearInterval(flag)} ,当鼠标放在div上,停止漂浮。

(18).obj.οnmοuseοut=function(){flag=setInterval(float, delay)},当鼠标离开,继续漂浮。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/191320.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • idea 设置maven 自动更新[通俗易懂]

    idea 设置maven 自动更新[通俗易懂]1.file->Settings2.Maven->Importing->勾选ImportMavenprojectsautomatically

  • html中div滚动条设置,DIV滚动条属性及样式设置方式「建议收藏」

    html中div滚动条设置,DIV滚动条属性及样式设置方式「建议收藏」这里向大家描述一下DIV滚动条属性及样式设置,所谓DIV滚动条,就是利用DIV标签,在里面嵌入CSS样式表,加入overflow的属性值,这样,当div所规范的区域内的内容达到一定程序时,滚动条就派上用场。DIV滚动条属性及样式设置所谓DIV滚动条,就是利用DIV标签,在里面嵌入CSS样式表,加入overflow的属性值,这样,当div所规范的区域内的内容达到一定程序时,滚动条就派上用场。其功能大…

  • CPU五级流水线_五级流水线是什么

    CPU五级流水线_五级流水线是什么取指:指令取指(InstrucTIonFetch)是指将指令从存储器中读取出来的过程。译码:指令译码(InstrucTIonDecode)是指将存储器中取出的指令进行翻译的过程。经过译码之后得到指令需要的操作数寄存器索引,可以使用此索引从通用寄存器组(RegisterFile,Regfile)中将操作数读出。执行:指令译码之后所需要进行的计算类型都已得知,并且已经从通用寄…

  • ubuntu18.04更新内核_如何查看linux系统内核版本

    ubuntu18.04更新内核_如何查看linux系统内核版本1.查看内核版本2.修改apt源编辑在尾部增加一行/etc/apt/sources.listdebhttp://security.ubuntu.com/ubuntutrusty-securitymain更新apt-getupdate3.查看可更新的内核apt-cachesearchlinux-imageapt-cachesearchlinux|greplinux-headers本次我们更新4.15aptinst…

  • ASP.NET中进行消息处理(MSMQ) 一 (转)

    ASP.NET中进行消息处理(MSMQ) 一 (转)

  • vue基础(学习官方文档)

    vue基础(学习官方文档)基础介绍是什么是一套用于构建用户界面的渐进式框架声明式渲染vue实例一个Vue应用由一个通过newVue创建的根Vue实例,以及可选的嵌套的、可复用的组件树组成。所有的

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号