首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jQuery,滑动垂直文本只是离开屏幕而不回圈

jQuery,滑动垂直文本只是离开屏幕而不回圈
EN

Stack Overflow用户
提问于 2013-04-24 22:50:24
回答 3查看 391关注 0票数 0

到目前为止,我的代码如下:

代码语言:javascript
复制
  function richardsSuperAmazingVerticalTextScroller(){


        $('#honor-roll ul').animate(
        { 
            top: '-=' + $('#honor-roll ul li:last').height()
        },
        1000,
        'linear',
        function(){
            var offset = $('#honor-roll ul li:last').offset().top;                
            console.log(offset);
            if( offset <= 640){
                 $('#honor-roll ul li').css("margin", 0);
                 $('#honor-roll ul li:last').after($('#honor-roll ul li:first').detach());
            }
        }
    );
    }
    $(document).ready(function(){
        setInterval('richardsSuperAmazingVerticalTextScroller()',1000)
    });

在jsFiddle上它工作得很好,但是在这个版本中它失败了,http://barkins.com/test.html

下面是http://jsfiddle.net/qmFD3/6/上的相同代码

有人能发现问题所在吗?谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-24 22:56:42

所以,这不是相同的代码。特别是,您的jsFiddle具有

代码语言:javascript
复制
if( offset <= 640){
    $('#honor-roll ul').css("top", 0);
    $('#honor-roll ul li:last').after($('#honor-roll ul li:first').detach());
}

而你网站上的代码有

代码语言:javascript
复制
if( offset <= 640){
    $('#honor-roll ul li').css("margin", 0);
    $('#honor-roll ul li:last').after($('#honor-roll ul li:first').detach());
}

改变这一点可以解决这个问题。

顺便说一句,您不应该在setTimeout中使用字符串。您可以将其更改为:

代码语言:javascript
复制
setInterval(richardsSuperAmazingVerticalTextScroller,1000)
票数 2
EN

Stack Overflow用户

发布于 2013-04-24 23:12:45

您需要更改:

代码语言:javascript
复制
$('#honor-roll ul li').css("top", 0);

至:

代码语言:javascript
复制
$('#honor-roll ul').css("top", 0); // Note the li

以及将所有jQuery代码包装在$(document).ready(function() { });

代码语言:javascript
复制
$(document).ready(function(){
    $('#honor-roll ul').css({display:"none"});
    $('#honor-roll ul').fadeIn('slow');
    setInterval(richardsSuperAmazingVerticalTextScroller,1000)
});

编辑:

我想我知道你的代码不能工作的原因,那是因为你的jQuery版本

代码语言:javascript
复制
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type="text/javascript"></script>

下面是与您的站点具有完全相同问题的

所以你只需要在你的网站上使用另一个jQuery版本,它应该可以工作。

代码语言:javascript
复制
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js" type="text/javascript"></script>
票数 1
EN

Stack Overflow用户

发布于 2013-04-24 22:56:59

也许这一切都是为了把

代码语言:javascript
复制
 <script>

在body-element中

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16195129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档