<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>广告滚动框</title>
<style type="text/css">
*{margin:0px;padding:0px;}
#ad{width:150px;height:150px;background:orange;position:absolute;border-radius:50%;}
</style>
</head>
<body>
<div id="ad"></div>
<script type="text/javascript" src="jquery-1.8.3.min.js"></script>
<script type="text/javascript">
var stepX = 3;//广告移动步进
var stepY = 2;//广告移动步进
var inte = null;
//自动运行函数封装
function autoRun(){
inte = setInterval(function(){
var ad = $('#ad');
//获取元素相对于父级元素的偏移量
var _l = $('#ad').position().left;
var _t = $('#ad').position().top
//计算新的left
var newLeft = _l + stepX;
var newTop = _t + stepY;
//计算最大的left
var maxLeft = $(window).width()-$('#ad').width();
var maxTop = $(window).height()-$('#ad').height();
//检测是否越界 500 499+3 = 502
if(newLeft >= maxLeft-2 || newLeft <= 0){
stepX = -stepX;
changeBg();
}
if(newTop >= maxTop-2 || newTop <= 0){
stepY = -stepY;
changeBg();
}
//设置样式
$('#ad').css("left",newLeft+'px');
$('#ad').css('top',newTop+'px');
}, 1)
}
autoRun();
//改变背景颜色
function changeBg(){
var r = rand(0,255);
var g = rand(0,255);
var b = rand(0,255);
$('#ad').css('background','rgb('+r+','+g+','+b+')');
}
//随机数获取
function rand(m,n){
return Math.ceil(Math.random()*(n-m+1))+m-1;
}
// $('#ad').mouseover(function(){
// clearInterval(inte);
// })
// $('#ad').mouseout(function(){
// autoRun();
// })
$('#ad').hover(function(){
clearInterval(inte);
}, function(){
autoRun();
})
</script>
</body>
</html>
jquery广告滚动框
最新推荐文章于 2021-04-10 21:42:34 发布