0

我正在开发一个基于 Web 的信息亭,但不知道如何在 jquery 中完成

我使用 2 个 div div1 是起始页 div2 菜单,如果他们将鼠标悬停在图像上,div1 隐藏并且 div2 出现并显示菜单。但是当人们不使用菜单并走开时,它需要切换回 div 1 而不刷新整个页面。div1 的定时切换也必须在 div2 处于活动状态时启动。

<div 
id="start" 
style="display:none; 
  position:absolute; 
  right:0px; 
  top:0px;
  width:1680px;
  height:1050px; 
  background-image:url(start/images/overlays/start_overlay.png);
  background-color:;
  padding: 0px;
  z-index:7;
  "> start content here <br> <a 
  onmouseover="ShowContent('menu'); return true;"
  href="javascript:ShowContent('menu'); HideContent('start'); ">
  [image]</a>
  <div>

<div 
id="menu" 
style="display:none; 
  position:absolute; 
  right:0px; 
  top:0px;
  width:1680px;
  height:1050px; 
  background-image:url(start/images/overlays/menu_overlay.png);
  background-color:;
  padding: 0px;
  z-index:7;
  "> Menu Content here </div>

<script type="text/javascript" language="JavaScript"><!--
function HideContent(d) {
if(d.length < 1) { return; }
document.getElementById(d).style.display = "none";
}
function ShowContent(d) {
if(d.length < 1) { return; }
document.getElementById(d).style.display = "block";
}
function ReverseContentDisplay(d) {
if(d.length < 1) { return; }
if(document.getElementById(d).style.display == "none") 
{ document.getElementById(d).style.display = "block"; }
else { document.getElementById(d).style.display = "none"; }
}
</script>
4

1 回答 1

1

据我了解,您希望默认显示 div1,然后在用户开始与页面交互时显示 div2,并在用户不活动一段时间后返回 div1。

$(function(){
  var activeTime = 3000,
      activeTO;

  $(document).on("mousemove keydown scroll", function(){
    $("#div1").hide();
    $("#div2").show();
    clearTimeout(activeTO);
    activeTO = setTimeout(kioskIdle, activeTime);
  });

  function kioskIdle(){
    $("#div1").show();
    $("#div2").hide();
  }
});

工作演示:http: //jsfiddle.net/rXjMV/

于 2013-01-12T01:04:52.810 回答