发现了intro.js - 一种非常酷的方式来指导用户如何使用软件界面。我深深地看了看源代码,但想知道是否有人可以简单地解释代码如何实现突出显示的区域(特别是尺寸/位置/ zindexing)以实现效果。IntroJs如何实现突出显示的区域?
在此先感谢 周杰伦
链接: http://usablica.github.com/intro.js/
发现了intro.js - 一种非常酷的方式来指导用户如何使用软件界面。我深深地看了看源代码,但想知道是否有人可以简单地解释代码如何实现突出显示的区域(特别是尺寸/位置/ zindexing)以实现效果。IntroJs如何实现突出显示的区域?
在此先感谢 周杰伦
链接: http://usablica.github.com/intro.js/
好 - 很简单。
我是Afshin,Intro.js的作者。让我介绍一下它是如何工作的。
在聚焦/突出显示的元素中,发生了两件不同的事情:
1)制作一个辅助图层。辅助图层是聚焦元素中的白色圆角图层。
2)更改目标元素的z-index
和position
,以便将元素放在页面中所有其他元素的前面。
如果目标元素的位置(即,应聚焦在元件/突出显示)是:
绝对/相对: IntroJs刚刚设定的目标元件z-index
到9999999
,因此目标元件进入到前的页面中的所有其他元素。
静态: 现在,IntroJs目标元素位置设置为relative
然后设置z-index
到9999999
。
现在,目标元素位于页面中所有其他元素的前面。所以,最后一步仍然是创建助手元素。
为了创建辅助层,IntroJs刚刚得到的高度,宽度,顶部和左侧目标元素的,然后创建具有introJs-helperLayer
类(和位置absolute
)一个div
并将它附加到所述body
。
结论
为了集中的元件上,IntroJs确实两个步骤,首先创建一个辅助层(在页面圆角层),然后使目标元素含量relative
以便把它到页面中所有元素的前面。
如果目标元素的位置是固定的,那么目标元素不会被提升到顶部。固定元素似乎给z-index带来了复杂性...有没有解决intro.js中的这个问题的方法? – NeoWang 2013-11-28 15:47:32
关于我最后的评论的更多解释,这是Chrome特有的问题,因为这个奇怪的新功能:http://updates.html5rocks.com/2012/09/Stacking-Changes-Coming-to-position-fixed-elements 。 – NeoWang 2013-11-28 16:16:21
我很想对这个问题发表评论。试图现在修复。还有ul/li元素 – 2016-10-04 07:14:08
嘿@ jaysmith024,如果您有答案,请将其标记为“答案”。谢谢。 – 2013-03-29 07:15:57