2013-03-13 80 views
1

有沒有人知道我是否可以在滾動時讓第一個項目在最後一個項目之後出現,而不是等到最後一個項目在第一個項目出來之前消失?刪除文字框中的空白

我試過Google解決方案,我知道我必須使用JavaScript或JQueries創建選取框而不是選取框標記。不過,我對此是完全陌生的。任何人都可以指導我如何實施這些解決方案或提供我可以使用的代碼?非常感謝!

這是我目前擁有的代碼。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 

"http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 
<Title> Hello </Title> 

    <style> 

#content-wrapper{ 
    display:table; 
} 

#content{ 
    display:table-row; 
} 

#content>div{ 
    display:table-cell 
} 

/*adding some extras for demo purposes*/ 
#content-wrapper{ 
    width:100%; 
    height:100%; 
    top:0px; 
    left:0px; 
    position:absolute; 
} 
#nav{ 
    width:25%; 
    background:white; 
} 
#body{ 
    background:white; 
} 
</style> 

    </head> 

<body> 

<marquee behavior="scroll" direction="up" scrollamount="2" 

    <div id="content-wrapper"> 
     <div id="content"> 
     <div id="nav"> 
A <br> 
B <br> 
C <br> 
D <br> 
E <br> 
     </div> 
     <div id="body"> 
1 <br> 
2 <br> 
3 <br> 
4 <br> 
5 <br> 
     </div> 
     </div> 
    </div> 

</marquee> 

</body> 
</html> 
+1

你會在這裏找到答案http://stackoverflow.com/questions/2143056/seamless-jquery-marquee ?rq = 1 – SachinGutte 2013-03-13 07:17:23

+0

謝謝!我在哪裏放置代碼? – user2164133 2013-03-13 07:29:36

+0

http://jsfiddle.net/bkh7G/1/演示。您可能需要更改某些代碼才能使其適用於垂直選取框。 – SachinGutte 2013-03-13 07:36:19

回答

0

取決於你如何確切需要這最容易做的事情是滾動延遲設置爲一個非常低的數字,如.01,如果你這樣做,那麼你必須設置滾動速度或數量將得到四捨五入。

如果這不能令人滿意,您可以殺死選取框的默認循環並創建自己的。經過一定的時間,距離後,或者您可以調用onFinish()並立即觸發相同的選取框。就像那部魔術師讓自己消失的電影一樣,沒有人能弄清楚他是如何做到的?那個叫什麼名字?

第三個選項是你可以減少選框滾動的寬度,並抵消它向着它進入的一側傾斜,這是三者中最傾斜的一種,但是試試它。你的眼睛太激動了,看不到另一個選框,你甚至沒有注意到第一個從來沒有離開過的頁面

+0

我在哪裏打電話給Finish()?我是將它放在標籤之前還是之後?另外,我該如何調用onFinish()來立即觸發另一個選取框?非常感謝! – user2164133 2013-03-13 07:28:05

+0

上面的評論比我的所有解決方案都更優雅,但評論建議不然。這裏有另一個鏈接,通過優秀的評論解決了問題。讓我知道如果你需要任何幫助讓它工作。請注意,它需要致電jquery – 2013-03-13 07:37:58

+0

好吧!我會去嘗試一下。非常感謝你的幫助!我如何對jQuery進行引用調用? – user2164133 2013-03-13 07:39:29