HTML和CSS旋转3D立方体

时间:2015-07-15 17:38:48

标签: jquery html css 3d

我创建了一个css立方体并让它旋转。我希望能够在按下按钮时旋转立方体。这是我的代码。当我按下按钮时,.rotate类没有被切换。我哪里错了?您还可以在此处查看代码 - http://pastebin.com/xSjBnX5p

<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js">
$(document).ready(function(){
    $("button").click(function(){
        $("section").toggleClass("rotate");
    });
});
</script>
<style>
.wrap {
    perspective: 800px;
    perspective-origin: 50% 100px;
}
.cube {
    margin: 0 auto;
    position: relative;
    width: 200px;
    transform-style: preserve-3d;
}
.cube div {
    background: rgba(189,25,400,0.3);
    box-shadow: inset 0 0 20px rgba(125,125,125,0.9);
    position: absolute;
    width: 200px;
    height: 200px;
}
.back {
    transform: translateZ(-100px) rotateY(180deg);
}
.right {
    transform: rotateY(-270deg) translateX(100px);
    transform-origin: top right;
}
.left {
    transform: rotateY(270deg) translateX(-100px);
    transform-origin: center left;
}
.top {
    transform: rotateX(-90deg) translateY(-100px);
    transform-origin: top center;
}
.bottom {
    transform: rotateX(90deg) translateY(100px);
    transform-origin: bottom center;
}
.front {
    transform: translateZ(100px);
}
@keyframes spin {
    from { transform: rotateY(0); }
    to { transform: rotateY(-360deg); }
}
.rotate {
    animation: spin 1s 1 linear;
}
</style>
</head>
<body>
<br><br><br><br><br><br><br><br><br><br>
<div class="wrap">
<section class="cube">
    <div class="front"></div>
    <div class="back"></div>
    <div class="top"></div>
    <div class="bottom"></div>
    <div class="left"></div>
    <div class="right"></div>
</section>
</div>
<input type="button" value="Rotate" id="button">
</body>
</html>

2 个答案:

答案 0 :(得分:2)

您的代码应该位于单独的脚本标记中,并且要访问id上的按钮,您需要在jQuery中的id之前使用#。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#button").click(function(){
    $("section").toggleClass("rotate");
});
});
</script>
<style>

答案 1 :(得分:0)

您的脚本插入不好,您需要一个标记来加载外部javascript而另一个标记需要执行代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("button").click(function(){
    $("section").toggleClass("rotate");
});
});
</script>