自己写的jQuery浮动广告插件

2024-06-20 02:18

本文主要是介绍自己写的jQuery浮动广告插件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

效果图:

文件位置摆放:

插件的js代码:

  1 $.extend({
  2             pfAdv:function(options){
  3                 var defaults={
  4                     count:1,
  5                     startTop:200,
  6                     startLeft:200,
  7                     width:140,//ͼƬС
  8                     height:180,
  9                     imageSrc:"pfAdvPic.jpg",
 10                     step:1,
 11                     delay:30,
 12                     idStr:"pfAdv"
 13                 }
 14                 options= $.extend(defaults,options);
 15                 var html="";
 16                 html ="<div id=" options.idStr " class='pfAdv'>";
 17                 html ="<div class='plCloseDiv'></div>";
 18                 html ="<div><img src=" options.imageSrc "></div>";
 19                 html ="</div>";
 20                 $("body").append(html);//html
 21                 var advBoxObj=$("#" options.idStr);//
 22                 advBoxObj.css({"position":"absolute","z-index":998}).width(options.width).height(options.height);//涨λ
 23                 $("img",advBoxObj).width(options.width).height(options.height);
 24                 var advH=advBoxObj.outerHeight();//ĸ߶
 25                 var advW=advBoxObj.outerWidth();//Ŀ
 26                 var advMaxTop=0;//top
 27                 var advMaxLeft=0;//left
 28                 var stepMashionX=1;//1,ʾˮƽstep,-1ʾˮƽstep
 29                 var stepMashionY=1;//1,ʾֱstep,-1ʾֱstep
 30                 var currentX=0;//ǰλ
 31                 var currentY=0;
 32                 var divToBrowTop=options.startTop;
 33                 var divToBrowLeft=options.startLeft;
 34                 function getScroll(){
 35                     var scrollTop=$(window).scrollTop();//뿪߶
 36                     var scrollLeft=$(window).scrollLeft();//
 37                     return {x:scrollLeft,y:scrollTop};
 38                 }
 39                 function move(){
 40                     var browW=$(window).width();//
 41                     var browH=$(window).height();//߶
 42                     var scroll=getScroll();
 43                     currentX=divToBrowLeft scroll.x;//top
 44                     currentY=divToBrowTop scroll.y;//left
 45                     advMaxTop=browH-advH scroll.y;//top,
 46                     advMaxLeft=browW-advW scroll.x;//left,
 47 
 48 
 49                     if(currentY>=advMaxTop){
 50                         stepMashionY=-1;
 51                         currentY=divToBrowTop-options.step;
 52                     }
 53                     else if(currentY>scroll.y&&currentY<advMaxTop){
 54                         if(stepMashionY==-1)
 55                             currentY=divToBrowTop-options.step;
 56 
 57                         else if(stepMashionY==1)
 58                             currentY=divToBrowTop options.step;
 59                         else alert("ֱϵstepMashionY");
 60                     }
 61                     else if(currentY<=scroll.y){
 62                         stepMashionY=1;
 63                         currentY=divToBrowTop options.step;
 64                     }
 65                     else {
 66                         alert("ֱϱȽ");
 67                     }
 68                     if(currentX>=advMaxLeft){
 69                         stepMashionX=-1;
 70                         currentX=divToBrowLeft-options.step;
 71                     }
 72                     else if(currentX>scroll.x&&currentX<advMaxLeft){
 73                         if(stepMashionX==-1){
 74                             currentX=divToBrowLeft-options.step;
 75                         }
 76                         else if(stepMashionX==1){
 77                             currentX=divToBrowLeft options.step;
 78                         }
 79                         else alert("ˮƽϵstepMashionX")
 80                     }
 81                     else if(currentX<=scroll.x){
 82                         stepMashionX=1;
 83                         currentX=divToBrowLeft options.step;
 84                     }
 85                     else {
 86                         alert("ˮƽϱȽ");
 87                     }
 88                     divToBrowLeft=currentX;
 89                     divToBrowTop=currentY;
 90                     //var scroll=getScroll();
 91                     currentX =scroll.x;
 92                     currentY =scroll.y;
 93                     advBoxObj.css({top:currentY "px",left:currentX "px"});
 94                 }
 95                 $(".plCloseDiv",advBoxObj).on("click",function(){advBoxObj.remove()})
 96                 //$(window).resize(function(){initNum();});
 97                 var moveMashion=null;
 98                 advBoxObj.bind("mouseover",function(){clearTimeout(moveMashion);}).bind("mouseleave",function(){moveMashion=setInterval(move,options.delay);})
 99                 moveMashion=setInterval(move,options.delay);
100                 move();
101             }
102         });

css代码:

1 .pfAdv{ } 
2 .plCloseDiv{ width:16px; height:16px; background-image:url(pfAdvPicClose.jpg); background-repeat:no-repeat; position:absolute; top:0; right:0; cursor:pointer;} 
3 .plCloseA{ color:#102a49; font-size:14px; font-family:""; text-decoration:none; }

插件的调用:

1 $(function(){
2     $.pfAdv({});
3 })

 

这篇关于自己写的jQuery浮动广告插件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1076820

相关文章

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

HTML input 标签示例详解

《HTMLinput标签示例详解》input标签主要用于接收用户的输入,随type属性值的不同,变换其具体功能,本文通过实例图文并茂的形式给大家介绍HTMLinput标签,感兴趣的朋友一... 目录通用属性输入框单行文本输入框 text密码输入框 password数字输入框 number电子邮件输入编程框

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

HTML5 中的<button>标签用法和特征

《HTML5中的<button>标签用法和特征》在HTML5中,button标签用于定义一个可点击的按钮,它是创建交互式网页的重要元素之一,本文将深入解析HTML5中的button标签,详细介绍其属... 目录引言<button> 标签的基本用法<button> 标签的属性typevaluedisabled

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,