ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript コードに基づいたランダムなフローティング イメージ広告の実装_javascript スキル

JavaScript コードに基づいたランダムなフローティング イメージ広告の実装_javascript スキル

WBOY
WBOYオリジナル
2016-05-16 15:21:581878ブラウズ

このようなコードはインターネット上に多数ありますが、ヘッダーに 8b05045a5be5764f313ed5b9168a17e6 などのタグを追加すると、フローティング効果が無効になるため、W3C 標準に準拠していない可能性があります。標準に準拠しているため、使用できるようになります。友人は、多くのコードを変更する手間を省いてくれるでしょう。

コード 1:

コードは次のとおりです:

<!DOCTYPE html>
<html>
<head>
<meta charset=" utf-8">
<meta name="author" content="http://www.softwhy.com/" />
<title>漂浮广告代码</title>
<style type="text/css">
#thediv
{
 z-index:100; 
 position:absolute; 
 top:43px; 
 left:2px;
 height:100px;
 width:100px; 
 background-color:red;
}
</style>
<script type="text/javascript"> 
var xPos=300; 
var yPos=200; 
var step=1; 
var delay=8; 
var height=0; 
var Hoffset=0; 
var Woffset=0; 
var yon=0; 
var xon=0; 
var pause=true; 
var interval; 
function changePos() 
{ 
 width=document.documentElement.clientWidth; 
 height=document.documentElement.clientHeight; 
 Hoffset=thediv.offsetHeight; 
 Woffset=thediv.offsetWidth; 
 thediv.style.left=(xPos+document.body.scrollLeft+document.documentElement.scrollLeft)+"px"; 
 thediv.style.top=(yPos+document.body.scrollTop+document.documentElement.scrollTop)+"px"; 
 if(yon) 
 {
  yPos=yPos+step;
 } 
 else 
 {
  yPos=yPos-step;
 } 
 if(yPos<0) 
 {
  yon=1;
  yPos=0;
 } 
 if(yPos>=(height-Hoffset)) 
 {
  yon=0;
  yPos=(height - Hoffset);
 } 
 if(xon) 
 {
  xPos=xPos + step;
 } 
 else 
 {
  xPos=xPos - step;
 } 
 if(xPos < 0) 
 {
  xon = 1;
  xPos = 0;
 } 
 if(xPos >= (width - Woffset)) 
 {
  xon = 0;
  xPos = (width - Woffset); 
 } 
} 
function start() 
{ 
 thediv.visibility="visible"; 
 interval=setInterval('changePos()',delay); 
} 
function pause_resume() 
{ 
 if(pause) 
 { 
  clearInterval(interval); 
  pause = false;
 } 
 else 
 { 
  interval = setInterval(changePos,delay); 
  pause = true; 
 } 
}
window.onload=function()
{
 thediv.style.top=yPos; 
 start(); 
}
</script> 
</head> 
<body> 
<div id="thediv"></div> 
</body> 
</html> 

上記のコードは要件を満たしています。赤い div ブロックは Web ページ内でランダムに浮遊することができ、さまざまなブラウザーと互換性があります。コードの実装プロセスはここでは紹介しません。質問がある場合は、メッセージを残してください。

コード 2: JS ランダム フローティング広告コードの具体例

コードは次のとおりです:

<!--随机漂浮广告开始-->
<div id="float" style="position:absolute; z-index:3;(我建议大家把这里设为100,这样浮动图就不会被遮住了) left: 512px; width: 83px; top: 9px; height: 53px;">
   <img src="piaofu.gif" width="100" height="50"> </div>
<script type="text/javascript">
  <!--随机漂浮广告 -->
  var xPos=0,yPos=0;//x,y轴坐标
  var xon=0;//图片在x轴移动方向
  var yon=0;//图片在y轴移动方向
  var step=1;   //移动距离
  var img=document.getElementByIdx_x("float");//图片层
  function floatP()
  {
   var width=document.body.clientWidth;//浏览器宽度
   var height=document.body.clientHeight;//浏览器高度
   var Hoffset=img.offsetHeight;//图片高度
   var Woffset=img.offsetWidth;//图片宽度
   img.style.left=xPos+document.body.scrollLeft;//图片距离浏览器左侧位置
   img.style.top=yPos+document.body.scrollTop;//图片距离浏览器顶端位置
   if(yon==0){
   yPos=yPos+step;//图片在y轴方向上下移动
   }else{
   yPos=yPos-step;
   }
   if(yPos<0){//飘到顶端,沿y轴向下移动
   yon=0;
   yPos=0;
   }
   if(yPos>=(height-Hoffset)){//飘到低端,沿y轴向上移动
   yon=1;
   yPos=(height-Hoffset);
   }
   if(xon==0){//x轴向右移动
   xPos=xPos+step;
   }else{
   xPos=xPos-step;//x轴向左移动
   }
   if(xPos<0){//飘到左侧时沿x轴向右移动
   xon=0;
   xPos=0;
   }
   if(xPos>=(width-Woffset)){//飘到右侧时沿x轴向左移动
   xon=1;
   xPos=(width-Woffset);
   }
   setTimeout("floatP()",30);//定时调用。
  }
  window.onload=floatP();
</script>

コードは次のとおりです:

<script>
var x = 50,y = 60 //浮动层的初始位置,分别对应层的初始X坐标和Y坐标
var xin = true, yin = true //判断层的X坐标和Y坐标是否在在控制范围之内,xin为真是层向右移动,否则向左;yin为真是层向下移动,否则向上
var step = 1 //层移动的步长,值越大移动速度越快
var delay = 10 //层移动的时间间隔,单位为毫秒,值越小移动速度越快
var obj=document.getElementByIdx_x("float") //捕获id为ad的层作为漂浮目标
function floatAD() {
var L=T=0 //层移动范围的左边界(L)和上边界(T)坐标
var R= document.body.clientWidth-obj.offsetWidth //层移动的右边界
var B = document.body.clientHeight-obj.offsetHeight //层移动的下边界
obj.style.left = x + document.body.scrollLeft //更新层的X坐标,实现X轴方向上的运动;document.body.scrollLeft为文档区域的滚动条向右拉的距离,以保证在滚动条右拉时层仍在可见范围内
obj.style.top = y + document.body.scrollTop //更新层的Y坐标,实现Y轴方向上的运动;document.body.scrollTop为文档区域的滚动条向下拉的距离,以保证在滚动条下拉时层仍在可见范围内
x = x + step*(xin&#63;1:-1) //通过判断层的范围决定层在X轴上的运动方向
if (x < L) { xin = true; x = L} //层超出左边界时的处理
if (x > R){ xin = false; x = R} //层超出右边界时的处理
y = y + step*(yin&#63;1:-1) //通过判断层的范围决定层在Y轴上的运动方向
if (y < T) { yin = true; y = T } //层超出上边界时的处理
if (y > B) { yin = false; y = B } //层超出下边界时的处理
}
var itl= setInterval("floatAD()", delay) //每delay秒执行一次floatAD函数
obj.onmouseover=function(){clearInterval(itl)} //层在鼠标移上时清除上面的间隔事件,实现层在的鼠标移上时停止运动的效果
obj.onmouseout=function(){itl=setInterval("floatAD()", delay)} //层在鼠标移开时开始间隔事件,实现层在的鼠标移开时继续运动的效果
</script>

スクリプト ハウスは、次の点に注意する必要があることを皆さんに思い出してもらいたいと考えています。

Flash とフローティング広告を Web ページに挿入します。Flash にフローティング広告が表示されると、次のようになります。残りは非常に簡単です。

フラッシュ コードの場所に次のステートメントを追加するだけです

<param name="wmode" value="opaque">

例:

フラッシュが配置されているコードが次の場合:

コードは次のとおりです:





<param name="wmode" value="opaque">

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。