我在每个div中创建了一些带子项的div,每个孩子都填充了垂直定位数字(每个div一个数字),我想垂直旋转它们,每个div都有不同的速度,所以例如我在页面加载此行=> 00000,00
,经过一段时间,例如20秒,我想看到类似这样的东西=> 02110,15
。
我的问题是我不能旋转除第一个之外的其他数字(但也是第一个旋转不好,因为它冻结了一个1
但它应该从0旋转到9并且在9回到0和从开始之后)。
出了什么问题?
$(document).ready(function() {
var number_h = 200,
offset = number_h - 5,
spinner_h = 200;
function spin() {
$("#one_slot .one").children("div").css("transition", "all 5s ease");
$("#one_slot .one").children("div").css("transform", "translateY(-" + number_h + "px)");
}
spin();
});

#content_wrapper {
background: #693 repeat-x;
background-size: 135px 100%;
height: 200px;
width: 1350px;
}
#one_slot,
#two_slot,
#tri_slot,
#four_slot,
#five_slot,
#six_slot,
#seven_slot,
#eich_slot,
#nine_slot,
#ten_slot {
border: 1px solid #a50;
width: 130px;
height: 200px;
overflow: hidden;
float: left;
}
#ten_slot {
float: right;
}
div>div {
font-family: 'Open Sans', sans-serif;
color: white;
font-size: 140px;
margin-left: 3px;
text-align: center;
display: block;
height: 200px;
}

<script src="//ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div id="content_wrapper">
<div id="one_slot">
<div class="one">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
</div>
<div id="two_slot">
<div class="one">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
</div>
<div id="tri_slot">
<div class="one">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
</div>
<div id="four_slot">
<div class="one">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
</div>
<div id="five_slot">
<div class="one">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
</div>
<div id="six_slot">
<div class="one">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
</div>
<div id="seven_slot">
<div class="one">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
</div>
<div id="eich_slot">,</div>
<div id="nine_slot">
<div class="one">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
</div>
<div id="ten_slot">
<div class="one">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
</div>
</div>
&#13;
答案 0 :(得分:0)
您只需拨打spin()
一次。所以它只旋转一次。你需要根据你想要的时间把它放在一个循环中,例如setInterval
$(document).ready(function() {
var number_h = 200,
offset = number_h - 5,
spinner_h = 200;
function spin() {
$("#one_slot .one").children("div").css("transition", "all .5s ease");
$("#one_slot .one").children("div").css("transform", "translateY(-" + number_h + "px)");
}
setInterval(function(){
spin();
number_h += 200;
number_h %= 2200;
}, 500)
});
#content_wrapper {
background: #693 repeat-x;
background-size: 135px 100%;
height: 200px;
width: 1350px;
}
#one_slot,
#two_slot,
#tri_slot,
#four_slot,
#five_slot,
#six_slot,
#seven_slot,
#eich_slot,
#nine_slot,
#ten_slot {
border: 1px solid red;
width: 130px;
height: 200px;
overflow: hidden;
float: left;
}
#ten_slot {
float: right;
}
div>div {
font-family: 'Open Sans', sans-serif;
color: white;
font-size: 140px;
margin-left: 3px;
text-align: center;
display: block;
height: 200px;
}
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<div id="content_wrapper">
<div id="one_slot">
<div class="one">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
</div>
<div id="two_slot">
<div class="one">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
</div>
<div id="tri_slot">
<div class="one">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
</div>
<div id="four_slot">
<div class="one">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
</div>
<div id="five_slot">
<div class="one">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
</div>
<div id="six_slot">
<div class="one">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
</div>
<div id="seven_slot">
<div class="one">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
</div>
<div id="eich_slot">,</div>
<div id="nine_slot">
<div class="one">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
</div>
<div id="ten_slot">
<div class="one">
<div>0</div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
</div>
</div>
</div>
通过任何方式都不完美,但它显示了这个想法