所以我正在做一种 slider ,当它完全向下时隐藏向下按钮,反之亦然,当向上按钮隐藏时,我遇到了问题。
var amount = $('slide').attr('number');
$('span#up').click(function(){
$('div#container').animate({marginTop: '+=' + playerH});
position--;
if (position < amount){
$('span#up').hide();}
else {
$('span#up').show();
}
});
$('span#down').click(function(){
$('div#container').animate({marginTop: '-=' + playerH});
position++;console.log(amount);
if (position > amount){
$('span#down').hide();}
else {
$('span#down').show();
}
基本上,数量变量是容器内幻灯片的数量。 我创建一个幻灯片元素,如果是第四张幻灯片,则输入 number="4",这样它就可以计算幻灯片的数量。
我希望我说得足够清楚:D。
最佳答案
您的部分问题是您没有在向下单击时重新显示 #up,在向上单击时重新显示 #down。一旦其中之一被隐藏,您将如何用代码重新显示它们?我会将显示/隐藏代码分组到一个函数中,并从两个事件处理程序中调用它,类似于(简化的伪代码只是为了给您提供想法):
var totalSlides = 4;
var position = 0;
function checkStuff( pos )
{
$('div#container').animate({marginTop: '+=' + playerH});
if ( pos === 0 )
{
$('span#up').hide();
}
else
$('span#up').show();
if ( pos === totalSlides )
{
$('span#down').hide();
}
else
$('span#down').show();
}
$('span#down').click(function(){
position++;
checkStuff( position );
});
$('span#up').click(function(){
position--;
checkStuff( position );
});
关于jQuery 条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5273536/