php - 滚动时固定对象路径

标签 php javascript html css

我正在寻找一个网站,当它被加载时,屏幕中间会出现一辆小型汽车的俯 View 。汽车在一条路径上,当您滚动汽车时,汽车将围绕这些曲线转弯。现在我真正能做的就是用 CSS 将汽车固定在屏幕中间,然后将道路图像设置为背景。这条路现在必须是直的,因为我不知道在哪里或如何让它转向这些路径。我从哪里开始?

最佳答案

我制作了一些小演示来向您展示可能的解决方案。它使用 css 渐变而不是“路径”,您必须进行大量更改才能实现多个预定义的转向,但我认为它运行良好:

http://jsfiddle.net/4Rkjg/5/

HTML:

<div class="bg"></div>
<div class="car"></div>

CSS:

html, body {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
    overflow-y: hidden;
    overflow-x: scroll;
}

.car {
    position: fixed;
    top: 48%;
    left: 45%;
    width: 10%;
    height: 30px;
    background: blue;
}

.bg {
    width: 5000px;
    height: 100%;
    background: #f6e6b4;
    background: -moz-linear-gradient(left,  #f6e6b4 0%, #e01616 100%);
    background: -webkit-gradient(linear, left top, right top, color-stop(0%,#f6e6b4), color-stop(100%,#e01616));
    background: -webkit-linear-gradient(left,  #f6e6b4 0%,#e01616 100%);
    background: -o-linear-gradient(left,  #f6e6b4 0%,#e01616 100%);
    background: -ms-linear-gradient(left,  #f6e6b4 0%,#e01616 100%);
    background: linear-gradient(to right,  #f6e6b4 0%,#e01616 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6e6b4', endColorstr='#e01616',GradientType=1 );
}

JS:

$(function(){

    var $car = $('.car');
    var $bg = $('.bg');
    var carPosition = $car.position();

    var maxOffset = $bg.width() - $(window).width();

    $(window).scroll(function(e){
        var offset = $('body').scrollLeft();

        if(offset < maxOffset/2)
            var degree = offset / 100;
        else
            var degree = (maxOffset-offset)/100;

        // change rotation
        $car.css({
            '-webkit-transform': 'rotate(' + degree + 'deg)',
            '-moz-transform': 'rotate(' + degree + 'deg)',
            '-ms-transform': 'rotate(' + degree + 'deg)',
            '-o-transform': 'rotate(' + degree + 'deg)',
            'transform': 'rotate(' + degree + 'deg)',
            'zoom': 1
        });

        // change vertical position
        $car.css({
            'top': carPosition.top + offset/100
        });     
    });
});

关于php - 滚动时固定对象路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16622236/

相关文章:

java - 如何用 Apache Derby 代替 MySQL Server 作为 PHP 应用数据库?

javascript - Jquery模态: on background click add class and remove html

javascript - Ui-Router 与父级的深层嵌套状态

javascript - SVG 交点设置颜色

html - 垂直对齐和导航问题

javascript - SVG 外来对象在更改之前不会显示

php - 使用 Bitbucket 在 Azure 上部署错误(ssh : connect to host bitbucket. org 端口 22:文件号错误)

javascript - 函数返回 bool 时如何使用不同的 SweetAlert?

javascript - 完成用户身份验证后隐藏 div 对话框

javascript - JavaScript 中的完全限定名称