jQuery侧面浮动图片广告或滚屏图片广告-20130703
程序员文章站
2022-07-12 21:35:00
...
1、效果及功能说明
图片广告制作一个侧面浮动图片广告特效,类似滚屏效果的图片广告
2、实现原理
是先后获得页面的高度然后在获得装有图片的块级元素的高度计算页面的高度除于2在块级元素高度除于2把最后获得高度值赋值给块级容器让块级容器始终保持页面高度居中的效果在滚动页面时候通过定义一个动画的效果让广告在0.4秒内移动到当前页面高度的中间
3、效果图
4、运行环境
IE6 IE7 IE8及以上 Firefox 和 Google Chrome游览器下都可实现
5、所有图片的压缩包新建一个文件后将包解压放进文件夹图片的压缩包在页面的最下方可以看到并下载下载后无需修改文件夹名因为本身就已经写好了和html5内的路径相吻合
6、将创建html文件保存的时候将编码类型换成(UTF-8有签名)这样可以让部分中文正常的显示出来,将保存类型(T)换成(所有文件(*.*)),将html5和解压后的图片文件夹放在同一个文件夹内效果
7、代码[html5]
图片广告制作一个侧面浮动图片广告特效,类似滚屏效果的图片广告
2、实现原理
是先后获得页面的高度然后在获得装有图片的块级元素的高度计算页面的高度除于2在块级元素高度除于2把最后获得高度值赋值给块级容器让块级容器始终保持页面高度居中的效果在滚动页面时候通过定义一个动画的效果让广告在0.4秒内移动到当前页面高度的中间
3、效果图
4、运行环境
IE6 IE7 IE8及以上 Firefox 和 Google Chrome游览器下都可实现
5、所有图片的压缩包新建一个文件后将包解压放进文件夹图片的压缩包在页面的最下方可以看到并下载下载后无需修改文件夹名因为本身就已经写好了和html5内的路径相吻合
6、将创建html文件保存的时候将编码类型换成(UTF-8有签名)这样可以让部分中文正常的显示出来,将保存类型(T)换成(所有文件(*.*)),将html5和解压后的图片文件夹放在同一个文件夹内效果
7、代码[html5]
<!DOCTYPE htm> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <style type="text/css"> *{margin:0;padding:0;list-style-type:none;} .fixediv{position:fixed;top:140px;z-index:9999;width:140px;height:216px;background:#ddd;} .fixediv img{float:left;} .fixediv a.close{display:block;height:30px;line-height:30px;background:#fff;font-size:14px;padding:0 10px;color:#5e5e5e;text-decoration:none;text-align:center;} .leftadv{left:0px;} .rightadv{right:0px;} </style> <div class="fixediv leftadv"> <a href="http://www.17sucai.com/"><img src="images/180.jpg" width="140" height="186" alt="性感美女" /></a> <a class="close" href="javascript:void(0);">关闭广告</a> </div> <div class="fixediv rightadv"> <a href="http://www.17sucai.com/"><img src="images/280.jpg" width="140" height="186" alt="清纯美女" /></a> <a class="close" href="javascript:void(0);">关闭广告</a> </div> <div style="height:1200px;"></div> <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script> <script type="text/javascript"> $(document).ready(function(){ //在文档加载后激活函数 $(".fixediv a").click(function(){ //定义个两个图片下方的关闭广告按钮事件 $(".fixediv").fadeOut(400); //使用淡出效果来隐藏两个广告在定义弹出的时间0.4秒 }); $(".fixediv").floatadv(); //调用floatadv方法来实现图片的两侧广告的效果 }); jQuery.fn.floatadv = function(loaded) { //定义个在jquery里面的方法 var obj = this; //放入this body_height = parseInt($(window).height()); //获得这个body的高度 block_height = parseInt(obj.height()); //获得块(就是容器div)的高度 top_position = parseInt((body_height/2) - (block_height/2) + $(window).scrollTop()); //定位广告的在页面显示出来的高度scrollTop方法可以直接计算出当前广告在页面的距高是多少 if(!loaded) { //判断没有图像加载 obj.css({'position': 'absolute'}); //那么广告的定位方式为绝对定位 obj.css({ 'top': top_position }); //广告的高度等于top_position高度 $(window).bind('resize', function() { //广告调用bind方法 为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数 resize方法对浏览器窗口调整大小进行计数 obj.floatadv(!loaded); // }); $(window).bind('scroll', function() { // obj.floatadv(!loaded); //调用floatadv方法里面的(!loaded参数)来实现效果 }); } else { //否则 obj.stop(); //就调用停止当前正在运行的动画 obj.css({'position': 'absolute'}); //当前的广告的定义为决定定位 obj.animate({ 'top': top_position }, 400, 'linear'); //当前广告调用animate方法改变广告的高度 } } </script> </body> </html>