js方法:
復制代碼 代碼如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title> New Document </title>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
<script type="text/javascript">
window.onload=function(){
//寫入
var oneInner = document.createElement("div");
oneInner.setAttribute("style","background:#663398;position:absolute;width:100px;height:100px;border:solid 3px #2F74A7;cursor:pointer;");
var oneButton = document.createElement("input");
oneButton.setAttribute("type","button");
oneButton.setAttribute("value","x");
if (oneButton.style.cssFloat)
{
oneButton.style.cssFloat="right"
}
else
{oneButton.style.styleFloat="right"}
oneInner.appendChild(oneButton);
document.body.appendChild(oneInner);
//定時器
var a1a = setInterval(moves,100);
//函數
var x = 10;
var y = 10;
function moves(){
var tops = oneInner.offsetTop
var lefts = oneInner.offsetLeft
if (lefts>=document.documentElement.clientWidth-oneInner.offsetWidth||lefts<=0)
{
x=-x
}
if (tops>=document.documentElement.clientHeight-oneInner.offsetHeight||tops<=0)
{
y=-y
}
tops+=y;
lefts+=x;
oneInner.style.top=tops+"px"
oneInner.style.left=lefts+"px"
}
//懸停停止
oneInner.onmouseover=function(){
clearInterval(a1a);
}
//放手繼續運動
oneInner.onmouseout=function(){
a1a =setInterval(moves,100);
}
//刪除
oneButton.onclick=function(){
document.body.removeChild(oneInner);
}
}
</script>
</head>
<body>
</body>
</html>
jquery方法:
復制代碼 代碼如下:
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="http://www.jb51.net/workspace/js/jquery-1.7.min.js"></script>
<script>
$(function(){
//寫入div
$("<div/>",{id:"moveWindow"}).css({width:"200px",height:"200px",border:"solid 3px #2F74A7",background:"#663398",position:"absolute",cursor:"pointer"}).appendTo("body");
//寫入關閉按鈕
$("<div/>",{id:"removeMW"}).css({width:"20px",height:"20px",background:"red",float:"right"}).appendTo("#moveWindow");
//定時器
var move = setInterval(moves,100);
var x= 10;
var y= 10;
function moves (){
var mw = $("#moveWindow").offset();
var lefts =mw.left;
var tops = mw.top;
if (lefts>=$(window).width()-$("#moveWindow").width()||lefts<=0)
{
x=-x
}
if (tops>=$(window).height()-$("#moveWindow").height()||tops<=0)
{
y=-y
}
lefts+=x;
tops+=y;
$("#moveWindow").offset({top:tops,left:lefts});
}
//懸停停止運動
$("#moveWindow").mouseover(function(){
clearInterval(move);
});
//移開鼠標後繼續運動
$("#moveWindow").mouseout(function(){
move = setInterval(moves,100);
});
//點擊按鈕關閉
$("#removeMW").click(function(){
$("#moveWindow").remove();
});
})
</script>
</head>
<body>
</body>
</html>
基本思路:
1.頁面加載完成之後向頁面插入窗口,之後向窗口插入關閉按鈕
2.使用setInterval()函數觸發moves()函數開始動畫
3.moves函數:首先獲取當前窗口位置,之後隨時間使窗口位移,每當位移到游覽器邊緣時反向運動
4.添加其他事件:鼠標懸停停止運動,鼠標離開繼續運動,點擊按鈕關閉窗口
ps:不建議使用這個特效,影響用戶體驗
希望對你有所幫助!^_^!~~