首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DIV在页面加载时随计算机时间移动

DIV在页面加载时随计算机时间移动
EN

Stack Overflow用户
提问于 2013-09-05 19:02:27
回答 3查看 162关注 0票数 3

我目前正在做一个项目,我想知道是否有人可以帮助这段JS代码。我正在尝试让DIV在页面加载时移动。例如,假设时间是上午9点;我希望它移动100px,上午9:30am移动120px。

非常感谢。

代码语言:javascript
运行
复制
function slide(element, pixels, duration) {
    var start = new Date();

    var start_x = parseInt(element.style.left, 10);

    function frame() {
        var now = new Date(),
            elap = now - start,
            frac = Math.min(elap / duration, 1),
            pos = start_x + (pixels * frac);

        element.style.left = (pos || 0) + "px";

        if (frac < 1) {
            window.requestAnimationFrame(frame);
        }
    }
    window.requestAnimationFrame(frame);
}

var div = $('#slideme');
$('#slideme').load('#slideme', function() {
    var elem = document.getElementById("slideme");
    slide(elem, -200, 1000);
});
EN

回答 3

Stack Overflow用户

发布于 2013-09-05 19:20:30

使用此JQuery:

代码语言:javascript
运行
复制
// Current datetime
var d = new Date();

// Total minutes since midnight
var totalMinutes = (d.getHours() * 60) + d.getMinutes();

// Number of 30 minute intervals (since midnight)
var numberOf30Mins = Math.floor(totalMinutes / 30);

// Work out how many pixels that should be (20px per interval)
var numberOfPixelsToShift = numberOf30Mins * 20;

$('#slideme').css('left', numberOfPixelsToShift);
票数 3
EN

Stack Overflow用户

发布于 2013-09-05 19:09:24

为什么不使用这个:

代码语言:javascript
运行
复制
$('#slideme').animate({"left": -200}, 1000);

Fiddle here

票数 0
EN

Stack Overflow用户

发布于 2013-09-05 19:28:32

您可以使用jquery的animate函数。

代码语言:javascript
运行
复制
$(document).ready(function() {
$( "#block" ).animate({
marginLeft: "+1200px",
}, 3000 );
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18634622

复制
相关文章

相似问题

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