$(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方法改变广告的高度 } }