Javascript 刷新浏览器时更改JS中的颜色
我正在编写一段代码,希望可擦除画布的颜色在刷新时改变 在css中触发颜色会更容易,尽管现在这是在这些触发器的编码本身中Javascript 刷新浏览器时更改JS中的颜色,javascript,jquery,css,html5-canvas,Javascript,Jquery,Css,Html5 Canvas,我正在编写一段代码,希望可擦除画布的颜色在刷新时改变 在css中触发颜色会更容易,尽管现在这是在这些触发器的编码本身中 var container = document.getElementById('canvas'); init(container, 5000, 3000, '#f8fa58'); 我怎样才能使它有多种(比如说2)不同的颜色,可以从中挑选。那么当网站刷新时,具体的颜色是随机的 (函数(){ //有点冗长,但是。。。 功能handleMousemove(事件){ var x
var container = document.getElementById('canvas');
init(container, 5000, 3000, '#f8fa58');
我怎样才能使它有多种(比如说2)不同的颜色,可以从中挑选。那么当网站刷新时,具体的颜色是随机的
(函数(){
//有点冗长,但是。。。
功能handleMousemove(事件){
var x=event.clientX;
var y=event.clientY;
绘制(x,y);
}
函数handleTouchmove(事件){
event.preventDefault();//我们不想滚动
var touch=event.touch[0];
var x=touch.clientX;
变量y=touch.clientY;
绘制(x,y);
}
//这一个可以由触摸和移动事件共享
函数激活的拖动(事件){
event.preventDefault();
canvas.isDrawing=true;
}
函数绘制(eventX、eventY){
var x=eventX-canvas.node.offsetLeft;
var y=eventY-canvas.node.offsetTop;
如果(!canvas.isDrawing){
返回;
}
var radius=100;//或其他
变量fillColor='#ff0000';
ctx.globalCompositeOperation='destination out';
ctx.fillCircle(x,y,半径,fillColor);
}
函数createCanvas(父级、宽度、高度){
var canvas={};
canvas.node=document.createElement('canvas');
canvas.context=canvas.node.getContext('2d');
canvas.node.width=宽度| | 100;
canvas.node.height=高度| | 100;
parent.appendChild(canvas.node);
返回画布;
}
var canvas,ctx;//将其取出以避免我的处理程序嵌套得太深;
函数init(容器、宽度、高度、填充颜色){
canvas=createCanvas(容器、宽度、高度);
ctx=canvas.context;
//定义自定义fillCircle方法
ctx.fillCircle=函数(x,y,半径,fillColor){
var radgrad=ctx.createRadialGradient(x,y,0,x,y,半径);
radgrad.addColorStop(0,'rgba(255,0,0,1');
radgrad.addColorStop(0.8,'rgba(255,0,0,9');
radgrad.addColorStop(1,'rgba(255,0,0');
//画图
ctx.fillStyle=radgrad;
ctx.fillRect(x-半径,y-半径,x+半径,y+半径);
};
ctx.clearTo=函数(fillColor){
ctx.fillStyle=fillColor;
ctx.fillRect(0,1,宽度,高度);
};
ctx.clearTo(fillColor | |“#ddd”);
//绑定鼠标事件
canvas.node.onmousemove=节流阀(handleMousemove);
canvas.node.ontouchmove=节流阀(handleTouchmove);
canvas.node.onmouseinter=
canvas.node.ontouchstart=节流阀(激活牵引);
}
var container=document.getElementById('canvas');
初始(容器,5000,3000,#f8fa58');
/*奖励:限制这些事件,使它们不会太频繁地开火*/
功能节流阀(回调){
var active=false;//一个简单的标志
var evt;//跟踪最后一个事件
var handler=function(){//仅在屏幕刷新时激发
active=false;//释放我们的标志
回调(evt);
}
返回函数handleEvent(e){//实际的事件处理程序
evt=e;//在每次调用时保存我们的事件
如果(!active){//只有在我们还没有这样做的情况下
active=true;//升起该标志
requestAnimationFrame(处理程序);//等待下一次屏幕刷新
};
}
}
})();
document.body.addEventListener('touchstart',函数(e){
e、 预防默认值();
});代码>
正文{
溢出:隐藏!重要;
左边距:-10vw;
利润上限:-30vh;
}
#背{
z指数:-10;
指针事件:无;
位置:绝对位置;
保证金:0;
显示:块;
背景:url(https://odlp-staging1.s3.amazonaws.com/uploads/2012/04/original_01_-belladonna-viviane-sassen-jpg.jpg)无重复中心固定;
-webkit背景尺寸:封面;
-moz背景尺寸:封面;
-o-背景尺寸:封面;
背景尺寸:封面;
宽度:110vw;
高度:130vh;
}
#帆布{
z指数:-1;
顶部:2vh;
左:-10vw;
宽度:110vw;
高度:130vh;
溢出:隐藏;
}
对于随机颜色,您可以在数组中存储各种颜色,然后使用随机方法
var randomColors = ['#f8fa58','red','black'];
var bg = randomColors[Math.floor(Math.random()*randomColors.length)];
init(container, 5000, 3000, bg);
对于随机颜色,可以在数组中存储各种颜色,然后使用随机方法
var randomColors = ['#f8fa58','red','black'];
var bg = randomColors[Math.floor(Math.random()*randomColors.length)];
init(container, 5000, 3000, bg);
使用url位置哈希存储重新加载次数的简单解决方案:
<body>
<script>
const numberOfReloads = window.location.hash.substr(1) | 0;
window.location.hash = numberOfReloads + 1;
if (numberOfReloads % 2) {
document.body.style.background = "red";
} else {
document.body.style.background = "blue";
}
</script>
</body>
const numberOfReloads=window.location.hash.substr(1)| 0;
window.location.hash=numberofrelloads+1;
如果(numberOfReloads%2){
document.body.style.background=“红色”;
}否则{
document.body.style.background=“蓝色”;
}
使用url位置哈希存储重新加载次数的简单解决方案:
<body>
<script>
const numberOfReloads = window.location.hash.substr(1) | 0;
window.location.hash = numberOfReloads + 1;
if (numberOfReloads % 2) {
document.body.style.background = "red";
} else {
document.body.style.background = "blue";
}
</script>
</body>
const numberOfReloads=window.location.hash.substr(1)| 0;
window.location.hash=numberofrelloads+1;
如果(numberOfReloads%2){
document.body.style.background=“红色”;
}否则{
document.body.style.background=“蓝色”;
}
编写一个函数以生成随机颜色,然后调用此函数以获取随机颜色:
函数GetRandomColor(){
变量集=[“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“a”、“b”、“c”、“d”、“e”、“f”];
var c1=set[Math.floor(Math.random()*set.length)];
var c2=set[Math.floor(Math.random()*set.length)];
var c3=set[Math.floor(Math.random()*set.length)];
var c4=set[Math.floor(Math.random()*set.length)];
var c5=set[Math.floor(Math.random()*set.length)];
var c6=set[Math.floor(Math.random()*set.length)];
var color=“#”+c1+c2+c3+c4+c5+c6;
返回颜色;
}
$(文档).ready(函数(){
$(“a”)。在(“单击”,函数(){
var c=GetRandomColor();
$(“颜色”).css(“背景色”,c);
});
});代码>
#颜色{
显示:块;
宽度:50px;
高度:50px;
边框:1px实心#000;
}
编写一个函数以生成随机颜色,然后调用此函数以获取随机颜色:
函数GetRandomColor(){
弗吉尼亚州