3

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

非常感谢。

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);
});
4

3 回答 3

3

玩一下这个 JQuery:

// 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);
于 2013-09-05T11:20:29.820 回答
0

您可以使用 jquery 的动画功能。

$(document).ready(function() {
$( "#block" ).animate({
marginLeft: "+1200px",
}, 3000 );
});
于 2013-09-05T11:28:31.670 回答
0

为什么不使用这个:

$('#slideme').animate({"left": -200}, 1000);

在这里提琴

于 2013-09-05T11:09:23.513 回答