Javascript 在鼠标移动和页面加载时更改背景颜色
我发现了一个示例代码,它是当用户移动鼠标时更改主体的背景颜色,但第一次页面是白色的。只有移动鼠标才能看到更改Javascript 在鼠标移动和页面加载时更改背景颜色,javascript,jquery,Javascript,Jquery,我发现了一个示例代码,它是当用户移动鼠标时更改主体的背景颜色,但第一次页面是白色的。只有移动鼠标才能看到更改 var $win = $(window), w = 0,h = 0, rgb = [], getWidth = function() { w = $win.width(); h = $win.height(); }; $win.resize(getWidth).mousemove(function(e) { rg
var $win = $(window),
w = 0,h = 0,
rgb = [],
getWidth = function() {
w = $win.width();
h = $win.height();
};
$win.resize(getWidth).mousemove(function(e) {
rgb = [
Math.round(e.pageX/w * 255),
Math.round(e.pageY/h * 255),
150
];
$(document.body).css('background','rgb('+rgb.join(',')+')');
}).resize();
JSFiddle:
如何在加载时触发?您可以使用jquery的
$(document).ready()
函数,在加载内容时调用该函数以最初设置随机背景颜色(或您想要的任何颜色)
我更新了您的。您可以使用以下方法:
var $win = $(window),
w = 0,
h = 0,
rgb = [],
getWidth = function() {
w = $win.width();
h = $win.height();
};
function changeColor(e) {
rgb = [
Math.round(e.pageX / w * 255),
Math.round(e.pageY / h * 255),
150
];
$(document.body).css('background', 'rgb(' + rgb.join(',') + ')');
}
$win.resize(getWidth).mousemove(function(e) {
changeColor(e);
}).resize();
$(document).ready(function() {
var is_loaded = false;
$(document.documentElement).bind("mouseover", function(e) {
if (!is_loaded) {
is_loaded = true;
changeColor(e);
}
});
});
工作示例:
$(文档).ready(函数(){
getRandomColor();
随机mousemovecolor();
});
函数getRandomColor(){
document.body.style.background=“#”+((1body{background:blue;}在cssSorry中,可能我没有正确解释。我想在第一次使用相同的颜色。在这种情况下,当你开始移动光标时,你会从蓝色跳转到粉红色或红色或其他任何颜色。在加载时,我需要在移动事件时使用相同的颜色。可能吗?pageX和pageY?你如何进入pageload?我想你必须设置默认的pageX和pageY。在鼠标移动之前,您无法跟踪鼠标位置是的,我认为加载时无法获取鼠标位置
var $win = $(window),
w = 0,
h = 0,
rgb = [],
getWidth = function() {
w = $win.width();
h = $win.height();
};
function changeColor(e) {
rgb = [
Math.round(e.pageX / w * 255),
Math.round(e.pageY / h * 255),
150
];
$(document.body).css('background', 'rgb(' + rgb.join(',') + ')');
}
$win.resize(getWidth).mousemove(function(e) {
changeColor(e);
}).resize();
$(document).ready(function() {
var is_loaded = false;
$(document.documentElement).bind("mouseover", function(e) {
if (!is_loaded) {
is_loaded = true;
changeColor(e);
}
});
});