web网页飘窗

需求:web页面上需要一个动态飘窗,飘窗内容是一张图片,点击图片可以跳转到指定链接

 

本部分代码主要使用与网站网页 飘窗

废话不多说,上代码

jsp页面中:


<body>
    <div id="ad111">
        <a href="这里填写点击图片的跳转链接" target="_blank" title="这里是链接的标题">
           <img style=" height:171px; width:155px" src="这里是图片的路径" />
        </a>
    </div>
    <script>
        var ad1 = new AdMove("ad111");
        ad1.Run();
    </script>
</body>

如果需要将图片换成文字列表的话只需要改jsp里面的内容即可,比如:

<!-- 飘窗 -->
<div id="ad111" style=" height:150px; width:155px;background-color: royalblue;">
    <ul>
       <h2 style="font-size: 12px; color: red;">单位宣传:</h2>
       <s:iterator value="entityMap.enterpriseList">
          <li>
              <a href="这里填写点击标题要跳转的链接" style="color: red;" title="${name}" target="_blank">
                <s:property value="name" />
              </a>
          </li>
       </s:iterator>
    </ul>
</div>

其他的代码不用动;

js部分:

//公共脚本: main.js
function addEvent(obj,evtType,func,cap)
{
    cap=cap||false;
    if(obj.addEventListener)
    {
     obj.addEventListener(evtType,func,cap);
     return true;
     }
     else if(obj.attachEvent)
     {if(cap)
     {
         obj.setCapture();
         return true;
     }
     else
     {
      return obj.attachEvent("on" + evtType,func);
      }
      }
      else
      {return false;}
}
//获取滚动条位置


function getPageScroll()
{
    var xScroll,yScroll;
    if (self.pageXOffset)
    {xScroll = self.pageXOffset;} 
    else if(document.documentElement  &&  document.documentElement.scrollLeft)
    {xScroll=document.documentElement.scrollLeft;}
    else if (document.body)
    {xScroll=document.body.scrollLeft;}
    if (self.pageYOffset) 
    {yScroll = self.pageYOffset;} 
    else if (document.documentElement  &&  document.documentElement.scrollTop)
    {yScroll = document.documentElement.scrollTop;}
    else if (document.body) 
    {yScroll = document.body.scrollTop;}
    arrayPageScroll = new Array(xScroll,yScroll);
    return arrayPageScroll;
    }
//获取网页大小
function GetPageSize(){
    var xScroll, yScroll;
    if (window.innerHeight  &&  window.scrollMaxY) { 
        xScroll = document.body.scrollWidth;
        yScroll = window.innerHeight + window.scrollMaxY;
    } else if (document.body.scrollHeight > document.body.offsetHeight){

        xScroll = document.body.scrollWidth;
        yScroll = document.body.scrollHeight;
    } else {
        xScroll = document.body.offsetWidth;
        yScroll = document.body.offsetHeight;
    }
    var windowWidth, windowHeight;

    if (self.innerHeight) {
        windowWidth = self.innerWidth;
        windowHeight = self.innerHeight;
    } else if (document.documentElement  &&  document.documentElement.clientHeight) {

        windowWidth = document.documentElement.clientWidth;
        windowHeight = document.documentElement.clientHeight;
    } else if (document.body) {
        windowWidth = document.body.clientWidth;
        windowHeight = document.body.clientHeight;
    } 
    if(yScroll < windowHeight){
        pageHeight = windowHeight;
    } else { 
        pageHeight = yScroll;
    }
    if(xScroll < windowWidth){ 
        pageWidth = windowWidth;
    } else {
        pageWidth = xScroll;
    }
    arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
    return arrayPageSize;
}
//脚本: 图片Move.js
  var PicMove=new Object();
  PicMove.IsInitialized=false;
  PicMove.ScrollX=0;
  PicMove.ScrollY=0;
  PicMove.MoveWidth=0;
  PicMove.MoveHeight=0;
  PicMove.Resize=function(){
  var winsize=GetPageSize();
    PicMove.MoveWidth=winsize[2];
    PicMove.MoveHeight=winsize[3];
    PicMove.Scroll();}
  PicMove.Scroll=function(){
    var winscroll=getPageScroll();
    PicMove.ScrollX=winscroll[0];
    PicMove.ScrollY=winscroll[1];}
  addEvent(window,"resize",PicMove.Resize);
  addEvent(window,"scroll",PicMove.Scroll);
function AdMove(id){
    if(!PicMove.IsInitialized){
        PicMove.Resize();
        PicMove.IsInitialized=true;
    }
    var obj=document.getElementById(id);
    obj.style.position="absolute";
    var W=PicMove.MoveWidth-obj.offsetWidth;
    var H=PicMove.MoveHeight-obj.offsetHeight;
    var x = W*Math.random(),y = H*Math.random();
    var rad=(Math.random()+1)*Math.PI/6;
    var kx=Math.sin(rad),ky=Math.cos(rad);
    var dirx = (Math.random()<0.5?1:-1), diry = (Math.random()<0.5?1:-1);
    var step = 1;
    var interval;
    this.SetLocation=function(vx,vy){x=vx;y=vy;}
    this.SetDirection=function(vx,vy){dirx=vx;diry=vy;}
    obj.CustomMethod=function(){
        obj.style.left = (x + PicMove.ScrollX) + "px";
        obj.style.top = (y + PicMove.ScrollY) + "px";
        rad=(Math.random()+1)*Math.PI/6;
        W=PicMove.MoveWidth-obj.offsetWidth;
        H=PicMove.MoveHeight-obj.offsetHeight;
        x = x + step*kx*dirx;
        if (x < 0){dirx = 1;x = 0;kx=Math.sin(rad);ky=Math.cos(rad);} 
        if (x > W){dirx = -1;x = W;kx=Math.sin(rad);ky=Math.cos(rad);}
        y = y + step*ky*diry;
        if (y < 0){diry = 1;y = 0;kx=Math.sin(rad);ky=Math.cos(rad);} 
        if (y > H){diry = -1;y = H;kx=Math.sin(rad);ky=Math.cos(rad);} 
    }
    this.Run=function(){
        var delay = 20;
        interval=setInterval(obj.CustomMethod,delay);
        obj.onmouseover=function(){clearInterval(interval);}
        obj.onmouseout=function(){interval=setInterval(obj.CustomMethod, delay);}
    }
}

希望给大家带来帮助。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值