Я работаю над учебной программой проекта odin и застрял в проекте эскиза. Назначение - создать сетку с jquery, заполнить квадраты при наведении курсора, а затем нажать кнопку, которая очистит область и даст возможность изменить # квадратов в области. В моем коде я пытаюсь изменить количество квадратов в сетке с помощью ввода из приглашения, но переменная не изменяется после ввода другого номера в приглашение.изменение переменной с подсказкой
Мой javascript-
$(document).ready(function() {
//create table
var area = 16;
for(i=0;i<area;i++) {
$('table').append('<tr></tr>')
};
for(i=0;i<area;i++) {
$('tr').append('<td></td>')
};
//fill in background when hovered over
$('td').hover(function() {
$(this).addClass('fill')
});
//clear pad when button is clicked and set new area
$('button').click(function() {
$('td').removeClass('fill')
var input = prompt("enter desired area of new sketchpad (ex. \"16\" for a 16x16 grid, \"64\" for a 64x64 grid)","16");
area = input;
});
});
мой html-
<!doctype html>
<html lang="en">
<head>
<title>Skethpad</title>
<link rel="stylesheet" type="text/css" href="style.css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="script.js"></script>
</head>
<body>
<button type="button">Clear Sketchpad</button>
<div id="container">
<table>
</table>
</div>
</body>
</html>
Любое помогает или указатели будут оценены!
Редактирование: с помощью решения Waterscroll Я смог изменить сетку с помощью пользовательского запроса, но теперь отдельные элементы не будут заполняться, когда они зависают после запроса, но будут перед подсказкой. Есть предположения?
Edit- Исправлены все проблемы, благодаря каждой помощи! Вот как у работающих Javascript смотрели
$(document).ready(function() {
createTable(16);
hoverOver();
});
//create table
var createTable = function(area) {
$('table').empty();
for(i=0;i<area;i++) {
$('table').append('<tr></tr>')
};
for(i=0;i<area;i++) {
$('tr').append('<td></td>')
};
};
//fill in <td> elements when hovered over
var hoverOver = function() {
$('td').hover(function() {
$(this).addClass('fill');
console.log("filling");
});
}
//clear and create new table when button is clicked
var onClick = function() {
$('td').removeClass('fill')
var input = prompt("enter desired area of new sketchpad (ex. \"16\" for a 16x16 grid, \"64\" for a 64x64 grid)","16");
if (input != null) {
createTable(parseInt(input));
hoverOver();
} else {
createTable(16);
hoverOver();
}
};
Что заставляет вас думать, переменная не меняется? У вас нет кода, который перерисовывает таблицу после изменения переменной. – Barmar
'область = ParseInt (вход),' ' – Igor
Append ('