我正在尝试从右向左滚动文本(实际列出元素)。
这是HTML代码
<div id="slider-txt">
<ul>
<li class="islide">text 1</li>
<li class="islide">text 2</li>
</ul>
</div>
我的CSS
#slider-txt
{
position:relative;
width: 590px;
}
#slider-txt ul
{
list-style-type: none;
position: absolute;
margin: 0px;
padding: 0px;
}
#slider-txt ul li
{
text-align: right;
}
和jQuery
var box = $('#slider-txt');
if (box.length == 0) {
return;
}
var ul = box.find('ul');
var li = $('#slider-txt').find('li');
var liWidth = box.width();
var ulWidth = liWidth * li.length;
li.css('width', liWidth);
ul.css('width', ulWidth);
li.css('display', 'inline-block');
var liElement = 0;
function slideNxt() {
liElement++;
if (liElement == li.length) {
liElement = 0;
}
var curLeftPos = ul.css('left').split('px')[0];
var newLeftPos = -(liElement * liWidth);
ul.animate({ left: newOffset + 'px' }, { duration: 'slow', easing: 'swing' });
}
setInterval(slideNxt, 2000);
上面的代码在循环中从右到左摆动列表项。列表项上设置的内联块属性似乎没有按预期工作(列表项目显示在另一个下面)。此外,如果列表项开箱即用(div#slider-txt)宽度,我希望列表项被隐藏。
你能帮我解决这些问题吗?感谢...
答案 0 :(得分:1)
需要编辑CSS ...我们将获得滚动效果。
#slider-txt
{
width: 590px;
height: 20px;
display:block;
overflow:hidden; /* to hide the text */
position: relative;
}
#slider-txt ul
{
list-style-type: none;
margin: 0px;
padding: 0px;
position: absolute;
}
#slider-txt ul li
{
text-align: center;
float: left; /* brings the list items in one line */
}
答案 1 :(得分:0)