2012-06-29 156 views
1

jQuery-newbie here。jquery動畫不會工作

我想用兩個按鈕做一個簡單的水平滾動功能。我想用動畫做。但是,當我上的按鈕一按,什麼也沒有發生......

繼承人的jQuery代碼:

<script type="text/javascript"> 
$(document).ready(function() { 
    $('#right-button').click(function { 
     $('#box').animate({ 
     left: +="200px" 
     }, "fast"); 
    }); 

    $('#left-button').click(function { 
     $('#box').animate({ 
     left: -="200px" 
     }, "fast"); 
    }); 
}); 
</script> 

這是HTML代碼:

<section id="main"> 
    <span class="scrollbutton left" id="left-button">(</span> 
    <span class="scrollbutton right" id="right-button">)</span> 
    <div id="box"> 
     <div class="column"></div> 
     ... 
    </div> 
</section> 

(我也嘗試它有一個標籤)

Aaaaand這裏的CSS:

#main { 
    border: solid 1px #fff; 
    max-height: 480px; 
    width: auto; 
    display: block; 
    overflow: hidden; 
    background: #ddd; 
} 

#main #box { 
    width: 2250px; 
    display: inline; 
    float: left; 
    position: relative; 
} 

#main .column { 
    float: left; 
    display: inline; 
    padding: 10px; 
    width: 429px; 
    border-left: solid 1px #333; 
    height: 460px; 
} 

.scrollbutton { 
    font-family: "WebSymbolsRegular"; 
    font-size: 30px; 
    color: #000; 
    text-decoration: none; 
    cursor: pointer; 
} 

.left { 
    float: left; 
} 

.right { 
    float: right; 
} 

這可能是一個很幼稚的錯誤,但我不知道它是什麼...我希望你能幫助我:)

PS:你可以在這裏找到:http://patrickmanser.ch/pixelsword/

+0

「200像素」 +「200px」==「200px200px」&200 + 200 == 400 – sabithpocker

+0

是的,我裝了那:)仍然不會移動 – Patrick

+2

你試過w rite'$('#right-button')。click(function(){' ,而不是'$('#right-button')。click(function {'? –

回答

2
$('#right-button').click(function() { 
     $('#box').animate({ 
     left: "+=200px" 
     }, "fast"); 
    }); 

    $('#left-button').click(function() { 
     $('#box').animate({ 
     left: "-=200px" 
     }, "fast"); 
    }); 

()函數;-)

+0

看到這個哇,我沒有看到這個......謝謝你,這解決了它! – Patrick

1

嘗試:

$(document).ready(function() { 
    $('#right-button').click(function { 
     $('#box').animate({ 
     left: "+=200px" 
     }, "fast"); 
    }); 

    $('#left-button').click(function { 
     $('#box').animate({ 
     left: "-=200px" 
     }, "fast"); 
    }); 
}); 
+0

感謝您的回答,但不幸的是它不會工作... – Patrick

0

你有animate函數的語法錯誤,在

left: +="200px" 

+ =符號應該是引號內。所以它應該是這樣的

left: "+=200px" 

做與其他參數相同。

此外,

  1. 你應該將代替#box .COLUMN .. .COLUMN裏面#box。我認爲它應該被移動。
  2. 放置位置:相對於.column。
  3. 刪除float:至少從.column離開。

看到這裏的工作小提琴 http://jsfiddle.net/gaLKc/

+0

我試過了,仍然不會工作... – Patrick

+0

您的腳本中存在更多問題,請參閱上面的更新回答。 – FatalError

+0

@Alex Ball也是對的.. – FatalError

0
$('#right-button').click(function { 
    $('#box').animate({ 
    left: "+=200" 
    }, "fast"); 
}); 

不是 「200像素」,它應該是 「= + 200」

+0

試過,仍然不會工作:( – Patrick

+0

你有沒有嘗試給幾秒而不是「快」? – mithilatw

+0

我現在這樣做了...但仍然沒有改進... – Patrick