【问题标题】:Creating an animation that counts up to the browser's viewport dimensions创建一个符合浏览器视口尺寸的动画
【发布时间】:2014-04-08 01:37:27
【问题描述】:

我目前有一个返回浏览器窗口高度和宽度的小脚本。我遇到的问题是实现一种方法,使高度和宽度从零计数到当前加载尺寸。它的功能类似于:http://jsfiddle.net/YWn9t/,但目标数字将是上述尺寸。这可以使用比 jsfiddle 更少的代码来完成吗?

HTML:

<div>
    <span></span>
    <span></span>
</div>

CSS:

body {text-align: center;}

div {border: 2px solid #000; display: inline-block; padding: 5px 20px; vertical-align: middle;}

span:first-of-type:after {content: "|"; margin: 0 10px;}

jQuery:

$(document).ready(function (e) {
    showViewportSize();
});

$(window).resize(function (e) {
    showViewportSize();
});

function showViewportSize() {
    var the_width = $(window).width();
    var the_height = $(window).height();
    $('span:first-of-type').text(the_width);
    $('span:last-of-type').text(the_height);
}

【问题讨论】:

    标签: javascript jquery html css


    【解决方案1】:

    FIDDLE

    JS

    $('#start').on('click', function(){
    
      var windowheight = $(window).height();
      var windowwidth  = $(window).width();
      $('.putmehere1').html('height: ' + 
                             windowheight + 
                             'width: ' + 
                            windowwidth);
    
      var startwidth = 0;
      var endwidth = windowwidth;
      var startheight = 0;
      var endheight = windowheight;
      var timer;
      var timer2;
    
    timedCount();
    timedCount2();
    
    
    function timedCount()
    {
       startwidth = startwidth + 1;
       timer = setTimeout(function(){timedCount()}, 20);
       $('.putwidth').html(startwidth);
       if (startwidth == endwidth)
          {
           clearTimeout(timer);
           startwidth = endwidth;
           }
    }
    
    function timedCount2()
    {
       startheight = startheight + 1;
       timer2 = setTimeout(function(){timedCount2()}, 20);
       $('.putheight').html(startheight);
       if (startheight == endheight)
       {
           clearTimeout(timer2);
           startheight = endheight;
        }
    }
    
     });
    

    【讨论】:

    • 我不明白这将如何实现到我现在所拥有的中。
    • 那么很明显我不明白你的问题。你的小提琴是一个高达 2,500 的计数器。有很多代码。您的代码对缓慢打开窗口没有任何作用。你的最后一句话,我假设你的问题是“这可以使用比 jsfiddle 更少的代码来完成吗?”。 - 我给了你一个代码更少的计数器,你可以从计数器中取出数字(startseconds)并用它来慢慢向上滚动页面,或者用它来显示页面容器的上下文。我在你的问题中遗漏了什么?
    • 这是一个快速的小提琴 - jsfiddle.net/5fVyt - 它会根据计时器慢慢显示页面的内容。这是你想要做的吗?读取当前维度,并将它们放入 endseconds 变量中。
    • 这应该会给你一个更好的主意:howbigismybrowser.com。注意 div 中的两个数值。它们都代表浏览器窗口的高度和宽度。目的是更改当前脚本以在分配的时间内从 0 计数到特定分辨率。
    • 第三次是魅力。这个小提琴怎么样 - jsfiddle.net/AM9kL。它使用 jQuery 读取窗口的高度和宽度,然后将这两个变量传递给从零开始计数的计数器。
    猜你喜欢
    • 2010-11-17
    • 1970-01-01
    • 1970-01-01
    • 2012-04-04
    • 1970-01-01
    • 2011-11-13
    • 2020-01-28
    • 1970-01-01
    相关资源
    最近更新 更多