プログラミングプロジェクト用のエッチスケッチを作成しています。デフォルトのボタンは行を追加しますが、画面上に何も表示されませんが、開発ツールは行を作成済みとして表示します。私はマージン、パディングなどを変更しようとしましたが、まだ何もありません。また、ボタンの2番目のイベントセットは決して適切にトリガーされません。すべての行を黒で強調表示します。 https://lettda.github.io/EtchAsketch/jqueryの行を作成しましたが、何も表示されず、on( 'hover')メソッドが機能しません。
UPDATE:ディスプレイが解決された(HTML除去におけるnewRowの前に '')、ホバーイベントを固定するだけの問題である
$(document).ready(function() {
var i;
function gridCreate(){
$('.grid').empty();
var userNum = prompt("How big do you want your grid?");
for (var i = 0; i < userNum; i++) {
$('.grid').append("<div class = 'newRow'></div>");
}
for (var i = 0; i < userNum; i++) {
$('.newRow').append("<div class='square'></div>");
}
var newWidth = $('.square').width() * i;
$('.newRow').width(newWidth);
$('.grid').width($('.newRow').width());
var newHeight = $('.square').height() * i;
// $('.newRow').height(newHeight);
$('.grid').height($('.newRow').height());
};
$('.normal').on("click", function(){
gridCreate();
// $('.square').unbind();
$('.square').on("hover", function(){
$(this).css('background-color', 'red');
});
});
});
CSS:
.grid {
margin: 50px auto 0 auto;
border: 1px solid black;
}
.newRow {
margin-left: 0 !important;
margin-right: 0 !important;
}
.square {
height: 1.5rem;
width: 1.5rem;
background-color: black;
display: inline-block;
margin: 0px;
}
.navbar-brand {
text-align: center;
float: none !important;
}
.navButtons {
margin: 0 auto;
text-align: center;
}
試してみよう何が起こっているのか見るために要素を調べる - ブラウザのDevツールを使って要素を調べる方法を知らないなら - 要素を調べる方法 - コンソールでエラーをチェックする - あなたのコードのいくつかにドットがあります。あなたはただ一つしか必要ありません。 – Tasos
ああ、 '..newRow'ではなく' .newRow'が必要です。 –
ああ、 'class =" newRow "' ...でも、ちょっと答えを投稿します。 –