私はdivの色を変更する必要があるサンプルアプリケーションを作成しています。jQueryのアニメーションのマウスイベント
正しく動作していますが、どこが間違っているのかわかりません。
下のサンプルアプリケーションを参照してください。あなたのコードで
http://jsfiddle.net/manishparab/3q1trzwk/
var cursorX = 0;
var cursorY = 0;
$(document).ready(function() {
$(".a").mouseover(function() {
animateDiv();
setInterval(function() {
isCursorOnSquare('.a')
}, 1);
});
});
$(document).on('mousemove', function(e) {
cursorX = e.pageX;
cursorY = e.pageY;
});
function isCursorOnSquare(elem) {
var pos, width, height;
pos = $(elem).position();
if ((Math.abs(pos.left - cursorX) <= 100 && Math.abs(pos.top - cursorY) <= 100)) {
$(elem).css("background-color", "red");
} else {
$(elem).css("background-color", "yellow");
}
}
function makeNewPosition() {
var h = $(window).height() - 50;
var w = $(window).width() - 50;
var nh = Math.floor(Math.random() * h);
var nw = Math.floor(Math.random() * w);
return [nh, nw];
}
function animateDiv() {
var newq = makeNewPosition();
var speed = 2000;
$('.a').animate({ top: newq[0], left: newq[1] }, speed, function() {
animateDiv();
});
}
正確ではないものはありますか? –
JSフィドルを確認してください...オーバーラップが正しくありません...マウスがブロックカラーの外にあっても赤色です...大文字にしてはいけません –
マウスがdivになければなりません。黄色であり、内側のdiv色が赤でなければならない。それはあなたの意味ですか? –