【发布时间】:2016-12-09 13:33:30
【问题描述】:
我有以下脚本:
function rotateFoo(current) {
var angle = (current.data('angle') + 90);
current.data('angle', angle);
console.log('angle: ', angle);
current.css({
'transform': 'rotate(' + angle + 'deg)'
});
current.data('angle1', angle);
}
$(document).ready(function() {
function generateNumb() {
var start = [0, 90, 180, 270];
var start = start[Math.floor(Math.random() * 4)];
return start;
}
$('.foo').each(function() {
$(this).css({
'transform': 'rotate(' + generateNumb() + 'deg)'
});
});
$('.foo').on('click', function() {
rotateFoo($(this));
});
});
.wrapper {
width: 306px;
border: 3px solid black;
margin: 50px auto 0;
overflow: hidden;
}
.foo {
width: 100px;
height: 70px;
background-color: #faa;
transition: all .5s ease;
float: left;
cursor: pointer;
text-align: center;
padding-top: 30px;
border: 1px solid #fff;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<section class="wrapper">
<div class="foo">1</div>
<div class="foo">2</div>
<div class="foo">3</div>
<div class="foo">4</div>
<div class="foo">5</div>
<div class="foo">6</div>
<div class="foo">7</div>
<div class="foo">8</div>
<div class="foo">9</div>
</section>
<p>
</p>
这是一个非常简单的益智游戏原型。 https://jsfiddle.net/dg0ugws1/70/
它从每个图块的随机角度开始。但是当我点击它时,我想将它顺时针旋转 90 度。
但是我的 console.log 抛出了这个错误:
angle: NaN
【问题讨论】:
-
请记住将所有相关代码放入问题中
-
什么设置初始
data-angle值? -
你没有在任何地方设置
data-angle的初始值 -
@Liam 使用所有 CSS 创建 sn-p 为问题添加了一堆不相关的代码。有小提琴很好,因为 JavaScript 是问题所在。
-
@Liam CSS 无关紧要。与所有
.foos 一样,您最多只需要两个。
标签: javascript