按钮单击时移动div左/右视口宽度

时间:2013-03-11 09:35:22

标签: javascript html css slider

我要做的是制作一个简单的html / css水平滑块,它会产生整个视口。

我已经有一段javascript来计算用户视口并给出了某些div的所需宽度/高度,但我似乎无法让按钮左右动画所需的px量。 (通过getviewport.js计算得到)

我知道我很接近,我无法弄清楚如何将变量viewportwidth添加到我的按钮。

这是getviewport.js

function resize() {


        if (typeof window.innerWidth != 'undefined') {
            viewportwidth = window.innerWidth,
            viewportheight = window.innerHeight
        }

        // IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)

        else if (typeof document.documentElement != 'undefined' & typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) {
            viewportwidth = document.documentElement.clientWidth,
            viewportheight = document.documentElement.clientHeight
        }

        // older versions of IE

        else {
            viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
            viewportheight = document.getElementsByTagName('body')[0].clientHeight
        }
        document.getElementById("portfolio").style.height = viewportheight+"px";
        document.getElementById("portfolio1").style.height = viewportheight+"px";
        document.getElementById("portfolio2").style.height = viewportheight+"px";
        document.getElementById("portfolio3").style.height = viewportheight+"px";
        document.getElementById("portfolio1").style.width = viewportwidth+"px";
        document.getElementById("portfolio2").style.width = viewportwidth+"px";
        document.getElementById("portfolio3").style.width = viewportwidth+"px";
}

这是动画和按钮脚本:

    <script language="javascript">
    function slider_animate(px) {
      $('#moving_part').animate({
        'marginLeft' : px
      });
    }
</script>

<input type="button" value="Move Left" onclick="slider_animate('-=viewportwidth')" />
<input type="button" value="Move Right" onclick="slider_animate('+=viewportwidth')" />

1 个答案:

答案 0 :(得分:1)

如果我是正确的,你只想将视口的宽度发送到slider_animate()函数。如果这就是你想要的,你就可以做到。

<input type="button" value="Move Left" onclick="slider_animate('-=' + $(window).width() + 'px')" />
<input type="button" value="Move Right" onclick="slider_animate('+=' + $(window).width() + 'px')" />