javascript - jQuery : Text on moving div (infinite wall)

标签 javascript jquery html css

我需要制作一堵无限墙,它会从数据库中提取文本并将其显示在墙上。我写了这段代码-

$(function() {
    var x = 0;
    var y = 100.0;
    var z=0;
    setInterval(function() {
        x -= 0.1;
        y -= 0.1;
        z++;
        if (x <= -100.0){ 
            $("#h1d1").html("loop div 1 :" + z);
            x = 0;
        }
        if (y <= 0){
            $("#h1d2").html("loop div 2 :" + z);
            y = 100.0;
        }
        $('#movimg1').css('left', x + "%");
        $('#movimg2').css('left', y + "%");

    }, 10);
    $("#stopbutton").click(function() {
        $('#movimg1').stop();
    });
})

但是文本的行为并不像我希望的那样。它在我不想要的屏幕中间发生变化。我需要在不可见时更改文本。 https://jsfiddle.net/oa0wdxcx/2/

还有一些事情 - 我想添加一个播放/暂停按钮。任何关于我如何实现这一目标的建议将不胜感激。此外,我希望 div 位于 #wrap div 内,但如果我将位置属性更改为相对,则 div 不会保持在一起。

提前致谢。

最佳答案

问题出在条件上。

            if (x <= -100.0) {
                z++;
                $("#h1d1").html("loop div 1 :" + z);
                x = 100; /* change this line */ 

            }
            if (y <= -100.0) { /* change this line */ 
                w++;
                $("#h1d2").html("loop div 2 :" + w);
                y = 100;

            }

条件表明,如果这两个 div 中的任何一个达到 left:-100%,则该元素必须放在 left:100% 的队列末尾。

还有一件事,您可以组合这些 if 语句,并且只使用 x 进行转换。

要使开始和停止按钮起作用,您应该使用 clearInterval() 函数终止模拟以停止,然后调用 doSimulate() 重新开始:

        var started = true;

        $("#stopbutton").click(function () {
                if(started) {
                    clearInterval(sim);
                    $(this).html('Start');
                    started = false;
                }else{
                    doSimulate();
                    $(this).html('Stop');
                    started = true;
                }
            });

这是 jsFiddle With Start/Stop Working.

关于javascript - jQuery : Text on moving div (infinite wall),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33973244/

相关文章:

javascript - 3秒后在js中发起一个类

javascript - 单击文本时如何来回交换文本?

jquery - 为什么这在 Firefox 中有效,但在 Safari 中无效?

php - MySQLi/PHP语法错误

HTML 相对链接链接到导航栏覆盖的 anchor

javascript - 未捕获的语法错误 : Unexpected number object

javascript - 根据 React 中的状态缓存计算值的惯用方法?

javascript - 我应该担心这个 422(不可处理实体)错误吗? ( rails 与设计)

javascript - 使用 jQuery 或 JavaScript 处理多个表单上的类

javascript - 我怎样才能在所有选定的 li-s 中都有白色 url?