javascript为div指定自己的颜色
我的问题是我有我创建的便笺,但每次我创建一个新便笺时,我可以更改新便笺的颜色,但我可以更改第一个便笺上的颜色,然后更改所有便笺上的颜色。 我想为每个人挑选一种颜色,这样他们就可以拥有自己独特的颜色。 这是我的密码笔: 创建新便笺时会发生这种情况:javascript为div指定自己的颜色,javascript,Javascript,我的问题是我有我创建的便笺,但每次我创建一个新便笺时,我可以更改新便笺的颜色,但我可以更改第一个便笺上的颜色,然后更改所有便笺上的颜色。 我想为每个人挑选一种颜色,这样他们就可以拥有自己独特的颜色。 这是我的密码笔: 创建新便笺时会发生这种情况: createNote = function(){ var stickerEl = document.createElement('div'), barEl = document.createElement('di
createNote = function(){
var stickerEl = document.createElement('div'),
barEl = document.createElement('div'),
color = document.createElement('button'),
colorIcon = document.createElement('i'),
deleteBtn = document.createElement('button'),
deleteBtnIcon = document.createElement('i'),
moveIcon = document.createElement('i'),
colorEl = document.createElement('input'),
textareaEl = document.createElement('textarea');
var transformCSSValue = "translateX(" + Math.random() * 800 + "px) translateY(" + Math.random() * 400 + "px)";
stickerEl.style.transform = transformCSSValue;
barEl.classList.add('bar');
stickerEl.classList.add('sticker');
color.classList.add('color');
deleteBtn.classList.add('deleteBtn');
deleteBtnIcon.classList.add('ion-android-delete');
colorIcon.classList.add('ion-android-color-palette');
stickerEl.id = "rect" + totalNotes++;
colorEl.classList.add('jscolor');
colorEl.onchange = function(){update(this.jscolor)};
colorEl.value = "cc66ff";
stickerEl.append(barEl);
stickerEl.append(color);
stickerEl.append(deleteBtn);
stickerEl.append(colorEl);
stickerEl.appendChild(textareaEl);
color.append(colorIcon);
deleteBtn.append(deleteBtnIcon);
barEl.append(moveIcon);
stickerEl.addEventListener('mousedown', onDragStart, false);
document.body.appendChild(stickerEl);
};
那么我能做些什么来改变每个音符的颜色呢 好的,我来描述一下我是如何使它工作的
- 把jscolor.js的代码放上去,因为完整的解决方案依赖于该库
- 在第1850行初始化jscolor库
- 修改createNote方法,从此
colorEl.classList.add('jscolor'); colorEl.onchange = function(){update(this.jscolor)}; colorEl.value = "cc66ff";
对此var colorCall = document.getElementsByClassName('sticker'); var NotesCall = Array.prototype.filter.call(colorCall, function(colorCall){ return colorCall.style.backgroundColor = "#" + jscolor;
colorEl.classList.add('jscolor'); colorEl.value = "cc66ff"; var picker = new jscolor(colorEl); colorEl.onchange = function(){ update(colorEl.value)};
这是专门为创建新便笺时创建选择器而创建的var colorCall = document.querySelectorAll(".jscolor-active"); var NotesCall = Array.prototype.filter.call(colorCall, function(colorCall){ return colorCall.parentNode.style.backgroundColor = "#" + jscolor; });
- 修改此文件中的更新方法
colorEl.classList.add('jscolor'); colorEl.onchange = function(){update(this.jscolor)}; colorEl.value = "cc66ff";
对此var colorCall = document.getElementsByClassName('sticker'); var NotesCall = Array.prototype.filter.call(colorCall, function(colorCall){ return colorCall.style.backgroundColor = "#" + jscolor;
colorEl.classList.add('jscolor'); colorEl.value = "cc66ff"; var picker = new jscolor(colorEl); colorEl.onchange = function(){ update(colorEl.value)};
基本上改变它选择要改变颜色的项目的方式var colorCall = document.querySelectorAll(".jscolor-active"); var NotesCall = Array.prototype.filter.call(colorCall, function(colorCall){ return colorCall.parentNode.style.backgroundColor = "#" + jscolor; });