データベースから情報を取得し、その要素からの要素の数に応じてすべての属性の回転の度合いを計算する3Dカルーセルを作成します。データベース。 私はカルーセルで呼び出すことができる要素の数を6に制限しています。 しかし、私のCSSではすべてが書かれ、6で割り算されています。したがって、データベースに3つの要素しかなければ、 。 私は学生で、今年はコーディングを開始しました。私は小枝で働いています。 ここに私の小枝ファイルです:3Dカルーセルの要素の回転の度合いを自動的に計算する
<div class="containerc">
<div class="carousel1">
{% for ev in events %}
<div class="item1">
<a href="?page=evenements&id_events={{ ev.id_events }}">
<img src="images/{{ ev.photo }}" width="100%" height="auto" alt="{{ ev.alt }}">
</a>
</div>
{% endfor %}
</div>
</div>
<div class="next">Next</div>
<div class="prev">Prev</div>
<script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
<script src='https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/js/bootstrap.min.js'></script>
<script src="JS/carousel.js"></script>
そして、これはCSSです:
.containerc {
margin: 0 auto;
margin-top: 12vh;
margin-bottom: 19vh;
width: 250px;
height: 200px;
position: relative;
perspective: 1000px;
}
.carousel1 {
height: 100%;
width: 100%;
position: absolute;
transform-style: preserve-3d;
transition: transform 1s;
}
.item1 {
display: block;
position: absolute;
background: #000;
width: 250px;
height: 200px;
line-height: 200px;
font-size: 5em;
text-align: center;
color: #FFF;
opacity: 0.95;
border-radius: 10px;
}
.item1:nth-child(1) {
transform: rotateY(0deg) translateZ(250px);
background: transparent;
}
.item1:nth-child(2) {
transform: rotateY(60deg) translateZ(250px);
background: transparent;
}
.item1:nth-child(3) {
transform: rotateY(120deg) translateZ(250px);
background: transparent;
}
.item1:nth-child(4) {
transform: rotateY(180deg) translateZ(250px);
background: transparent;
}
.item1:nth-child(5) {
transform: rotateY(240deg) translateZ(250px);
background: transparent;
}
.item1:nth-child(6) {
transform: rotateY(300deg) translateZ(250px);
background: transparent;
}
とJavaスクリプトファイル:私はそれを行う方法を検索しました
var carousel = $(".carousel1"),
currdeg = 0;
$(".next").on("click", { d: "n" }, rotate);
$(".prev").on("click", { d: "p" }, rotate);
function rotate(e){
if(e.data.d=="n"){
currdeg = currdeg - 60;
}
if(e.data.d=="p"){
currdeg = currdeg + 60;
}
carousel.css({
"-webkit-transform": "rotateY("+currdeg+"deg)",
"-moz-transform": "rotateY("+currdeg+"deg)",
"-o-transform": "rotateY("+currdeg+"deg)",
"transform": "rotateY("+currdeg+"deg)"
});
}
が、私はcouldn何も見つけられません。 CSSでやる方法はありますか? もしそうでなければ、私はJava Scriptでそれを行うべきだと思いますが、Java Scriptをどうやってやったのか分かりません。
データベース(carousel6、carousel5、など)から取られたアイテムの数に基づいて、カルーセルクラスを変更して、あなたのCSSでそれぞれの可能性をターゲットにすることができます。それはおそらくjsを使用するだけで、おそらくよりシンプルでクリーンです。 – gaynorvader
ありがとう! はい、それはおそらくJava Scriptの方がきれいでしょうが、私はそれを行う方法がわかりません。それは私にとっては簡単ではありません。 – Anjie