Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 刷新浏览器时更改JS中的颜色_Javascript_Jquery_Css_Html5 Canvas - Fatal编程技术网

Javascript 刷新浏览器时更改JS中的颜色

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

我正在编写一段代码,希望可擦除画布的颜色在刷新时改变

在css中触发颜色会更容易,尽管现在这是在这些触发器的编码本身中

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(){ 弗吉尼亚州