【发布时间】:2017-02-10 08:21:38
【问题描述】:
我正在做一个项目,试图制作类似于 etch-a-sketch 的东西。我有一个 780x780px 的正方形,我正在尝试使用一系列较小的正方形 div 来获得一个 16x16 的网格。
在这个网格上我有悬停效果。我不断得到一个 15x17 的正方形 div 网格,因为该行的最后一个正方形不适合。我将边距设置为 1px,填充设置为 0,所以我认为要在 780px 宽的行上放置 16 个正方形,我需要考虑边距(15 个 1px 边距),然后我可以从那里划分(780-15 ) 乘以 16,即我想要的方格数。
这是行不通的,这个项目的下一步是有一个按钮,用户可以在其中输入任意数量的行/列方格,并有一个更大或更小的方格网格STILL ON 780x780 正方形。有没有人有任何想法?我很困惑。
$(document).ready(function() {
var original = 16;
for (var y = 0; y < original * original; y++) {
$(".squares").width((780 - 15) / original);
$(".squares").height((780 - 17) / original);
$("<div class='squares'></div>").appendTo('#main');
}
$('.squares').hover(
function() {
$(this).addClass('hover');
}
)
});
function gridq() {
$('.squares').removeClass('hover');
$('div').remove('.squares');
var newgrid = prompt("How many squares on each side?");
var widthscreen = 192;
if (newgrid > 0) {
for (var x = 0; x < newgrid * newgrid; x++) {
$(".squares").width(widthscreen / newgrid);
$(".squares").height(widthscreen / newgrid);
$("<div class='squares'></div>").appendTo('#main');
}
$('.squares').hover(
function() {
$(this).addClass('hover');
}
)
}
}
#main {
height: 780px;
width: 780px;
background-color: antiquewhite;
position: relative;
}
.squares {
margin: 1px;
padding: 0;
background-color: aquamarine;
display: inline-block;
float: left;
}
.hover {
background-color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div id=main>
</div>
<button onclick="gridq()">Go Again!</button>
【问题讨论】:
标签: javascript jquery html css