为了账号安全,请及时绑定邮箱和手机立即绑定

如何左右方向键控制滚动速度?

如何左右方向键控制滚动速度?

<body> <marquee behavior="alternate" scrollamount="1" direction="up" onbounce="pp()" bgcolor="pink" width="300" height="400"> 加速世界 </marquee> <script type="text/javascript" > var i=1; var t=true; var k=window.event.keyCode; function pp() {     var e=window.event;     var obj=e.srcElement;     if(k==37)      t=false;     if(k==39)      t=true;     if(t==false)      i=i-1;     else        i=i+1;     obj.scrollamount=i; } </script> </body>
查看完整描述

1 回答

已采纳
?
逆光之羽

TA贡献55条经验 获得超13个赞

<body>
    <marquee id="container" behavior="alternate" scrollamount="1"
        direction="up" bgcolor="pink" width="300" height="400"> 加速世界
    </marquee>
    <script type="text/javascript">
        var i = 1;
        var t = true;
        document.onkeydown = function(event) {
            var e = event || window.event
                    || arguments.callee.caller.arguments[0];
            if (e && e.keyCode == 37) { // 按 left arrow 
                t = false;
            }
            if (e && e.keyCode == 39) { // 按 right arrow 
                t = true;
            }
            if (t == false) {
                i = i - 1;
            } else {
                i = i + 1;
            }
            if(i < 0){        //速度最低为0
                i = 0;
            }
            document.getElementById("container")
                    .setAttribute("scrollamount", i); //修改滚动速度
        };
    </script>
</body>


查看完整回答
反对 回复 2016-12-12
  • 错过了年华
    错过了年华
    var e = event || window.event || arguments.callee.caller.arguments[0]; e为什么要这样定义?又是什么意思, if (e && e.keyCode == 37) 我试了不加e也可以运行,那为什么要加e呢?
  • 1 回答
  • 0 关注
  • 1527 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信