可滚动页面上的 Jquery Starfield 插件

标签 jquery html css

我正在使用创建星空背景的 JQuery Starfield 插件。 http://rocketwagon.github.io/jquery-starfield/

我喜欢这个插件的工作方式,但如果页面内容使页面可滚动,则背景不会滚动。星空将保持原位,然后显示常规背景。

有人知道怎么解决吗?

我希望其他人已经使用过这个插件。

此插件的工作方式是为您的内容创建一个容器。

容器属性如下:

#container {
   width: 100%;
   height: 100%;
   position: relative;
   z-index: 1;
}

你必须使用 position: relative;z-index: 1; 因为如果你不给你的内容一个 z 星空会覆盖你的内容-index 高于 1

我创建了这个 jsfiddle作为一个例子,但我似乎无法在其中加载 jquery。不过它有我的完整代码。

最佳答案

首先,为了在 JSFiddle 中使用原始 GitHub 链接,我 referenced this question建议使用 RawGit为 JSFiddle 获取正确的 header 和 MIME 类型。

其次,查看 jQuery Starfield 生成的内容,我很清楚您不能轻易地将它附加到具有滚动内容的容器中。它使用以下 CSS 注入(inject)一个 canvas 标签:

position: absolute;
left: 0px;
top: 0px;
width: 100%;
height: 100%;

鉴于此,您似乎想要做的是将 StarField 容器与内容容器分开。像这样:

<div id="starfield"></div>
<div id="container">
  <!-- content here -->
</div>

使用以下 CSS:

#starfield {
  position: absolute;
  width: 100%;
  height: 100%;
}

#container {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: auto;
}

请注意,您不需要 #container 上的 z-index。因为它和 #starfield 都是绝对定位的,所以后者元素堆叠在前者之上。最好避免使用 z-index,除非它是绝对必要的(没有双关语意)。

我 fork 了你的 Fiddle 来证明基本概念,尽管你需要微调和更新其他 CSS 我敢肯定:http://jsfiddle.net/87uepudL/

关于可滚动页面上的 Jquery Starfield 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31899366/

相关文章:

javascript - jQuery $.post 返回不完整的数据

javascript - 从另一个值获取其他 json 值

html - 知道是什么导致悬停时图像顶部的轻微移动吗?

html - 绝对和固定定位在一起

javascript - tippy.js 工具提示中的延迟加载图像?

javascript - 切换按钮,但仅切换一次

html - 如何在 Blogger 中为小部件标题添加边框?

html - 使用纯 css 格式化单词

html - 如何在 Bootstrap 3 中将一个 div 与另一个对齐?

javascript - 向下或向上滚动时如何显示或隐藏菜单?