使用屏幕指南突出显示DIV内容

时间:2015-04-17 09:35:01

标签: javascript jquery css

我想在使用屏幕指南显示说明时突出显示箭头指向的元素

这里是小提琴的链接

Fiddle

小提琴的一些代码是:

$("#overlay").on("click", function(){
  this.style.display = "none";
     $("#clk").show();
});

$("#clk").on("click", function(){
    $("#overlay").show(); 
    $("#clk").hide();
});

5 个答案:

答案 0 :(得分:1)

希望这是你想要的。我已从叠加块中删除this.style.display = "none";。现在它正在发挥作用。

$("#overlay").on("click",function(){
     $("#clk").show();
     // $("#overlay").hide(); //Add this line if you need same behaviour while click on overlay.
});

$("#clk").on("click", function(){
    $("#overlay").show(); 
    $("#clk").hide();
});

答案 1 :(得分:1)

动画鼠标所在的元素,可以通过以下方式完成:使用jquery中的.hover:

$("#maincont").hover(  
   function() {    
       $( this ).addClass( "hover" );  
   }, 
   function() {    
       $( this ).removeClass( "hover" );  }
);

虽然目前你的叠加div会阻止触发器触发,因为maincont位于叠加层的“后面”。 可能有必要重新考虑设计。

编辑: 也许这是一种更好的方法来实现某种“鼠标位置”工具提示模式,可以激活并在鼠标附近的信息div中显示信息。 将鼠标光标改为

cursor: help;

CSS属性还有助于两种模式之间的差异

答案 2 :(得分:1)

不明白你的意思。 也许你只需要纠正你的风格,比如fiddle

答案 3 :(得分:1)

你需要稍微调整一下你的风格才能达到这个目的。

为您的叠加层div添加边距,以便显示main。同样,调整箭头的位置和相应的文本,使其到达适当的位置。

请注意,如果该框在carmin演示文稿中以内部显示,则此解决方案无效。

<强> updated jsFiddle

更新了CSS:

*{
    margin: 0px;
    padding: 0px;
}

#overlay{
    font-family: "Comic Sans MS", cursive, sans-serif;
    position: fixed;
    width: 100%;
    height: 100%;
    margin-top: 120px;
    z-index: 999999;
    background-color: #000;
    opacity:0.5;
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

#overlay p, #overlay img{
    position: relative;
}

#overlay p{
    color: blue;
}

#instruction1{
    top: 50px;
    left: 400px;
}

#arrow1{
    width: 100px;
    position: relative;
    top: -30px;
    left: 150px;
}

#instruction2{
    top: -10px;
    left: 225px;
}

#dismiss{
    font-size: 12px;
}
.shome{
    display: block;
}
main{
    z-index: 0;
}

main div{
    padding: 50px;
    background: rgb(0,120,170);color:#fff;
    z-index: 9999999;
    opacity: 0.8;
}

答案 4 :(得分:1)

我已经为你的div添加了一个类焕发,并在点击时添加了相同的光晕,并在叠加时将其删除。

&#13;
&#13;
$("#overlay").on("click", function(){
  this.style.display = "none";
     $("#clk").show();
    $("#maincont").removeClass("glow");
});

$("#clk").on("click", function(){
    $("#overlay").show(); 
    $("#maincont").addClass("glow");
    $("#clk").hide();
});
&#13;
*{
  margin: 0px;
  padding: 0px;
}

#overlay{
  font-family: "Comic Sans MS", cursive, sans-serif;
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 1;
  background-color: #000;
    opacity:0.5;
 -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -ms-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
    transition: all 0.3s ease-out;
}

#overlay p, #overlay img{
  position: relative;
}

#overlay p{
  color: blue;
}

#instruction1{
  top: 50px;
  left: 400px;
}

#arrow1{
  width: 100px;
  position: relative;
  top: 100px;
  left: 150px;
}

#instruction2{
  top: 100px;
  left: 225px;
}

#dismiss{
  font-size: 12px;
}
.shome{
    display: block;
}
main{
  z-index: 0;
}

main div{
  padding: 50px;
  background: rgb(0,120,170);color:#fff;
     z-index: 1;
  opacity: 0.8;
}
.glow{
  opacity: 1;
  z-index: 2;
  color: white;
  position: relative;  

}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="overlay" style="display:none">
  <p id="instruction1">This is some instruction.<br/>
    <span id="dismiss">(tap to dismiss)</span>
  </p>
  <img id="arrow1" src="http://pixabay.com/static/uploads/photo/2013/07/13/10/13/arrow-156792_640.png" />
  <p id="instruction2">This is something cool!</p>
</div>

<main>
  <div id="maincont">This is my main content.</div>
</main>

<br/>
  <div style="cursor:pointer;background:rgb(0,120,190);color:#fff;padding:10px;width:25%;text-align:center" id="clk">Click to see Instructions.</div>
&#13;
&#13;
&#13;

  

PS。您在此片段中阻止了您的箭头图片