首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >背景颜色属性向上滑动

背景颜色属性向上滑动
EN

Stack Overflow用户
提问于 2010-09-03 12:51:01
回答 2查看 2.7K关注 0票数 0

问题出在transitionBackground函数中。在这种情况下,当页面上的向上按钮被按下时,该函数被触发。

代码语言:javascript
复制
    <html>
    <head>
    <title>Case: Background Transitions</title>
    <script src="jquery/jquery.js"></script>
    <script>
      $(
        var transitionBackground = function (){
          if ($(div).css("background") === "blue"){
            //convert to green by having the green background start at the bottom, 
            //and slide up (over say, a period of 1 second)
            //I'll up vote a pure-css, pure-js, or a jquery answer, 
            //but I prefer jquery or pure-css answers.
            //Thanks in advance.
          } else {
            //convert back to blue if pressed again.
            //you don't have to do this;
          }
        };

        var arrowDown = {left:false, right:false, up:false, down:false};
        var arrow = {left: 37, up: 38, right: 39, down: 40 };

        $(document.documentElement).keydown(function (e) {  //a key was clicked
          var keyCode = e.keyCode || e.which

          switch (e.keyCode) {
            case arrow.up:  //the up key was clicked/pressed
              if (arrowDown.up === false){  //tell if clicked or pressed
                transitionBackground();
              }
              arrowDown.up = true
              break;
            default: //other keys
              return true;
              break;
          }
          return false;  //stop default behavior
        });

        $(document.documentElement).keyup(function (e) { //a key was relased
          var keyCode = e.keyCode || e.which

          switch (e.keyCode) {
            case arrow.up:  //the up key was released
              arrowDown.left = false;
              break;
            default: //other keys
              return true;
              break;
          }
          return false; //stop default behavior
        });
      );
    </script>
  </head>
  <body>
    <div style="height: 3em; width: 3em; background:blue"></div>
  </body>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-10-01 09:39:14

下面是一个使用带有两个div的切换函数的示例:http://jsfiddle.net/SmAHU/ (大致基于Nick011的回复)

票数 2
EN

Stack Overflow用户

发布于 2010-09-03 15:34:21

您可能希望使用jQuery的.toggle()函数,而不是if语句,因为它允许您在多个选项之间切换,在本例中是您的bg颜色。你不能让绿色在蓝色上滑行。您需要创建第二个div并将display设置为none。然后单击鼠标,使用滑动和隐藏功能在两个层之间切换。

代码语言:javascript
复制
<script type="text/javascript">
    var transitionBackground = function (){
        $(div).toggle(
            function(){
                $(div).hide();   
            },
            function(){
                $(div).slideUp();
            }
        );
    });
</script>
<div id="container">
<div style="height: 3em; width: 3em; background:blue; position:absolute; z-index:1"></div>
<div style="height: 3em; width: 3em; background:green; position:absolute; z-index=2; display:none;"></div>
</div>

如果逐字逐句地使用,这可能不会运行,但至少应该为您提供一个起点。我会查看jquery.com上的文档。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3633115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档