当前位置: 代码迷 >> Web前端 >> jQuery广告打造jQuery侧面浮动图片广告或滚屏图片广告-20130703
  详细解决方案

jQuery广告打造jQuery侧面浮动图片广告或滚屏图片广告-20130703

热度:156   发布时间:2013-07-09 09:50:48.0
jQuery广告制作jQuery侧面浮动图片广告或滚屏图片广告-20130703
1、效果及功能说明
在滚动的时候让浮动广告始终显示在页面的左右并且居中

2、实现原理
通过计算页面的高度和广告容器就是div的高度来让广告保持在页面滚动下保持居中的效果

3、效果图





4、代码 [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="js/jquery-1.4.2.min.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>


1 楼 萧远山 前天  
截个图看看效果~~
  相关解决方案