gpt4 book ai didi

javascript - 如何限制动画的高度(方向顶部)?

转载 作者:行者123 更新时间:2023-11-28 02:37:31 30 4
gpt4 key购买 nike

我想在使用箭头切换时限制动画的最大高度。尝试编写一个函数,它将计算 div 的高度和 +- 步长(以 px 为单位)。但它现在已写入变量。

var maxfloorh = $('.floor-switch').height();
var actualh = $('.floor-switch').height();
$('.floor-switch li').click(function() {
$('#line').animate({
top: $(this).position().top
});
});
function floorarrs(numbr) {
switch (numbr) {
case 1:
//check here maxfloorh
$('#line').animate({
top: '-=18'
}, 400, function() {
maxfloorh-'18';
console.log(maxfloorh);
});

break
case 2:
//check here maxfloorh
$('#line').animate({
top: '+=18'
}, 400, function() {
maxfloorh+'18';
console.log(maxfloorh);
});

break
}
}
$('.arrw-up').click(function() {
floorarrs(1);
});
$('.arrw-dwn').click(function() {
floorarrs(2);
});​

HTML:

<div id="floors" style="margin:60px;">
<div class="arrw-up"></div>
<div class="floor-switch">
<div id='line'></div>
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
</ul>
</div>
<div class="arrw-dwn"></div>
</div>​

直播:http://jsfiddle.net/cxvec/2/

最佳答案

$('.arrw-up').click(function() {
if ($("#line").css("top") !== "0px") {
floorarrs(1);
}
});

$('.arrw-dwn').click(function() {
if ($("#line").css("top") !== ""+($("#pagination li").length-1)*18+"px") {
floorarrs(2);
}
});​

这是工作 fiddle

我已经更改了箭头click函数中的逻辑,在css中,设置了带有id=line的元素的初始top属性到 0px...现在每当 top = 0px -> div 位于第一个 li 时,因此该函数不会执行,因此对于向下箭头...

注意:这可能是最好的解决方案,但它只是解决方案之一

关于javascript - 如何限制动画的高度(方向顶部)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13234598/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com