0
那麼,什麼問題?我有一個「位置:絕對」屬性的div。現在 - 我想知道 - 每當鼠標移動時,我可以使用jQuery(或簡單的JavaScript)移動這個div嗎?這只是一個不斷增加的動作,只能在X軸上進行。因此 - 想象一下瀏覽器窗口的左側和右側。當 - 例如 - 鼠標光標位於左半部分時 - 此div始終緩慢向右移動;而且當光標越來越靠近左邊時 - div的速度會增加一點。我正在嘗試在Three.js引擎上學習WebGL。讓我告訴你一個例子:jQuery和WebGL - 在鼠標移動時移動div
看看這裏 - http://hadyk.pl/webgl/(可能不工作在IE)
看星星是移動的樣子,當你移動光標 - 我要實現與相同背景div。
感謝
編輯:好吧,我得到它的工作。看升級的鏈接。代碼:
腳本:
$('#background').css({backgroundPosition: "0px bottom"})
function moveRight() {
$('#background').stop().animate({right: "1500px"},
{duration:80000});
}
function moveLeft() {
$('#background').stop().animate({right: "-1500px"},
{duration:80000});
}
function onStop() {
$('#background').stop();
}
HTML:
<div id="background"></div>
<div id="left" onMouseOver="moveLeft()" onMouseOut="onStop()"></div>
<div id="right" onMouseOver="moveRight()" onMouseOut="onStop()"></div>
CSS:
#background {
background: #000 url(images/moon.png) no-repeat;
position:absolute;
bottom:0;
right:0;
width:411px;
height:404px;
z-index:-2;
}
#left {
position:absolute;
left:0;
bottom:0;
width:30%;
height:100%;
z-index:99
}
#right {
position:absolute;
right:0;
bottom:0;
width:30%;
height:100%;
z-index:99
}
好吧,我糾正它 - 做類似的東西(但它不工作):$(「畫布」)鼠標移動(函數moveBackground(e){ \t如果(例如X>(window.innerWidth/2)) ').css('right'))+(e.pageX * 0.0008))+'px'}); \t \t} \t \t如果(e.pageX <(window.innerWidth/2)){ \t \t $( '#背景')。CSS({ '右' :(parseInt函數($( '#背景') .css('right')) - (e.pageX * 0.0008))+'px'}); \t \t} \t}); – Irminsul
在你的功能減速中刪除'moveBackground'。它應該是'mousemove(function(e){'。另外,你的第二個'if'語句真的是多餘的。用'else'子句代替 – Blender
好吧,我用不同的方法來發現插件 - http://plugins.jquery.com/project/backgroundPosition-Effect。請再看看我的第一篇文章中的鏈接,現在它效果更好 - 但仍然有兩個問題:1.爲什麼它在Firefox中速度太慢, Chrome?2.我不能讓它在兩邊工作 - 它只向左移動,我錯過了什麼?條件是否錯誤 - if(mouseX>(window.innerWidth/2)){'? – Irminsul