2013-03-13 81 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