Я пытаюсь выполнить задание для класса и в основном он должен быть «интерактивным». Я хочу использовать синтаксис mousemove для изменения цвета и размера строк, которые я создал. Я сделал свои строки в div в моем html-файле и сделал синтаксис getElementById
, чтобы сделать строки.Javascript MouseMove Кодирование событий
У меня есть линии ... Я не знаю, как заставить их двигаться и менять цвет. Мой профессор прислал мне код, и он изменил цвет линий, когда мышь переместилась над ними. Я понимаю код, но я не знаю, как заставить строки перемещаться и изменять размер случайным образом, когда мышь перемещается над ними.
Нужно ли создавать отдельные div для каждой строки, чтобы они перемещались, меняли цвет случайным образом и изменяли размер случайным образом независимо друг от друга, или я могу просто делать то, что я сделал, сделать один div с несколькими строками и заставить их делать чего я хочу, независимо друг от друга?
Вот ссылка на мой код ниже!
Спасибо !!!!!
[1]: http://codepen.io/niymil/pen/pNoOqz
var w = 100;
var h = 500;
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
function adjustLineStyle(y, lineY) {
var distance = Math.abs(lineY - y);
var lightness = 100 - distance;
// hsl makes a color HUE, SATURATION, LIGHTNESS.
// lightness will be how far Y is from the Y of line.
ctx.strokeStyle = "hsl(80, 70%," + lightness + "%)";
ctx.lineWidth = 2;
};
function clear() {
ctx.fillStyle = 'hsla(0,0%,0%,0.1)';
ctx.fillRect(0,0,500,500);
}
var startX = 0 ;
var endX = 500 ;
function drawlines(mouseEvent) {
var mouseY = mouseEvent.offsetY;
startX = startX + (Math.random() -0.5) * 30;
endX = endX + (Math.random() - 0.5) * 30;
ctx.strokeStyle = 'white'
ctx.beginPath();
ctx.moveTo(startX, mouseY);
ctx.lineTo(endX, mouseY);
ctx.stroke();
}
setInterval(clear,50);
document.addEventListener('mousemove', drawlines);
//draw lines as as the mouse is hovered over the lines
//the lines are supposed to change size as the mouse is hovered over the canvas
//as lines reappear, they should change color randomly
Можете ли вы скопировать/вставить свой код в реальный вопрос, пожалуйста? Вы можете сделать это, нажав на маленький символ '< >', когда вы нажмете на 'edit' в нижней части вашего вопроса – mike510a
Я вообще не вижу никаких строк ... Я что-то упустил? – mike510a
Хорошая работа .. Ты почти там .. Просто не хватает одной мелочи .. попробуйте добавить '$ (document) .ready (function() {animateDiv();});' там где-то, и вы его получили – mike510a