2011-03-11 50 views
2

因此,我正在做一種滑塊,並且在完全按下時隱藏向下按鈕時遇到問題,反之亦然。jQuery條件

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(); 
    } 

基本上,amount變量是容器內幻燈片的數量。 如果它是第四張幻燈片,我創建一個幻燈片元素,並將number =「4」,因此它可以計算幻燈片的數量。

我希望我已經夠清楚了:D。

+0

還有......?問題是什麼 ? – 2011-03-11 13:36:52

+1

你能粘貼一些這個驅動器的html(簡體)嗎?另外,你是否將位置變量初始化爲0? – Groovetrain 2011-03-11 13:39:03

+0

位置值=? – Gowri 2011-03-11 13:44:24

回答

-1

我不知道你有什麼問題,但你必須表現出向上按鈕時的下去點擊(反之亦然)您的問題

0

部分原因是,你是不是重新顯示底本在向下點擊和#向下點擊。一旦隱藏了其中一個,你將如何用你的代碼重新顯示它們?我會組的顯示/隱藏代碼放到一個功能,從兩個事件處理程序調用它,像(簡化的僞代碼只是爲了讓你的想法):

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); 

}); 
+0

我不'不太明白你的代碼和我的代碼有什麼不同?它是在一個函數內嗎? – Deus 2011-03-11 14:58:10

+0

,因爲在你只有調用$('span#down')。hide()和$('span#down')。show()in $('span#down')。click()event - you在向上箭頭被點擊後,不要改變向下箭頭的可見性。所以一旦你把所有的東西都拿走了,向下的箭頭將永遠不再顯示。我的示例在向上/向下事件中設置向上和向下箭頭。 – 2011-03-11 15:57:45