- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图通过从注释掉的 html 代码开始,然后在元素进入 View 时删除注释来实现延迟加载。 (该元素是一个视频标签,并且具有未注释掉的背景图像,因此在视频加载时不会有空白区域 - 这也是必需的,因为视频仅在特定区域中播放一次)。
到目前为止,我还没有发现性能受到影响。视频只有在查看后才会加载,并且一切看起来都很好。是否有人认为这可能不是一个好策略?
HTML:
<div class="set-feature-panel cell">
<div id="teams" class="feature-image feature-sink-screenshot">
<video class="feature-image no-display" poster="i/sidebar_frame.png" id="teams-video">
<!-- <source src="i/sidebar_open.webm" type="video/webm">
<source src="i/sidebar_open.mp4" type="video/mp4"> -->
</video>
<div class="image-space"></div>
</div>
</div>
JS:
manageGif: function() {
var scrollPosition = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;
for(var i=0;i<gifAnimations.gifElements.length;i++){
var elGif = gifAnimations.gifElements[i].id;
var el = gifAnimations.gifElements[i].elSize;
var scrolled = gifAnimations.gifElements[i].scrolled;
var center = window.innerHeight/4;
// this thresh is where the image is out of view
var topThreshold = (el.top+ el.diff) - scrollPosition - 55;
var bottomThreshold = ( el.bottom - el.diff - window.innerHeight )- scrollPosition;
if ( !(topThreshold > 0 && bottomThreshold < 0) || gifAnimations.isHidden() ){
gifAnimations.stopVideo(elGif, i);
}
//this thresh is where animation should happen
var topTrigger = el.top - scrollPosition - 55;
var bottomTrigger = ( el.top + el.diff -window.innerHeight )- scrollPosition;
if (topTrigger > 0 && bottomTrigger < -center && !scrolled ){ //was 0 not -100
gifAnimations.playVideo(elGif, i);
}
}
},
playVideo: function(elGif, i){
gifAnimations.gifElements[i].scrolled = true;
elGif.innerHTML = elGif.innerHTML.replace('<!--','').replace('-->','');
elGif.play();
},
stopVideo: function(elGif, i){
gifAnimations.gifElements[i].scrolled = false;
elGif.currentTime = 0;
elGif.pause();
},
注意该视频最初仅被注释掉。当它进入 View 后,它在 html 中保持未注释状态
最佳答案
你所做的事情实际上很常见。我正在使用 similar approach有一段时间在 Youtube 视频上,它对我来说效果很好。它加快了我的页面加载速度,因为加载 iframe
真的很糟糕。不过,我后来改变了实现。
假设您有一百个项目,并且您想延迟加载它们。就我而言,我将它们放在 li
中。当页面第一次加载时,我正在创建一百个里,当您开始向下滚动时,我将每个项目放入其里。这可能是比注释 DOM 更好的方法。
关于javascript - 使用html注释实现lazyload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30744731/
我怎样才能让 Reacts Suspense 不显示任何回退而是保持在同一页面上这就是我的 return (
我正在使用lazyload jQuery 插件。 它工作正常,除了一个问题:在滚动之前,图像 src 不会被交换为原始数据。一旦你滚动,即使是一点点,图像也会加载 - 但我需要它们在页面准备好时立即加
jQuery LazyLoad 不会在打开页面的可见部分加载图像,直到我滚动页面(即使是 1px)。 当我滚动页面时,一切正常 更新: CoffeeScript jQuery -> $("img
我收到错误,lazyload 不是函数 但是在调用该函数之前加载了 jquery 和lazyload。我查了一下,只加载了一个jQuery。加载的顺序是有效的。 http://meny.astadvi
我无法想象这是如何开始发生的,几个月来一直运行良好...... http://www.lizhess.com/shop/ 在 chrome/ff 中观察您的网络选项卡 - 它在页面上一秒钟后加载 25
我有一个网页,上面有很多图像。这些图像中的大部分都位于 slider 内,使用 SlickSlider.js 和 Lazyload。 该页面的加载时间为 3.87 秒,但发出了超过 134 个请求。查
我目前正在开发一个应用程序,它有一个使用 LazyLoader 方法填充的列表,所以我有以下类: 文件缓存.java,ImageLoader.java,LazyAdapter.java,工具.java
我有一个 Query 对象,它最初配置为 lazyload() 模型上的所有关系: query = session.query(Article).options(lazyload('author'))
我正在使用保罗爱尔兰的无限卷轴 http://masonry.desandro.com/demos/infinite-scroll.html以及 Mike Tupupola 的延迟加载 jquery
我有一个实体映射,其中有三个标记为延迟加载的属性。我的期望是,当我访问单个属性(即缩略图)时,只会加载该属性的数据。但是,如果访问这些属性中的任何一个,NHibernate 似乎将加载所有标记为 La
我正在使用lazyload.js 库来延迟加载动态加载到无限 ScrollView 中的图像。当我开始滚动并加载下一页结果后,延迟加载工作得很好。 初始加载时,图像不会延迟加载,直到窗口中发生某些操作
我使用 Mootools 库开发了一个 JS 密集型网站,但在路上遇到了障碍。页面上有一个滚动 div,其中包含 500 多个图像,我正在尝试实现延迟加载功能,因此页面不会一次加载所有 500 多个图
需要有关在刷新、加载、排序、分页页面时选择 primefaces 数据表第一行的正确方法的帮助
您好,我想了解 sqlalchemy 延迟加载是如何工作的?假设我有这个查询 results = ( session.query(Parent). option
有人知道为什么我的延迟加载似乎不起作用吗? 我完全从延迟加载页面复制,甚至使用它们的图像作为测试,它们只是正常加载而不是淡入淡出......? lazy link example 然后我放入了一个无冲
因此,所有代码都运行良好。查询一个数据库,节点/父 ID 被懒惰地传递给 jsTree,并且,如果在搜索栏中键入一个术语——类似的过程继续进行,但传递给 jsTree 的节点是由另一个 SQL 查询返
我在网页的某个部分对图像使用延迟加载 功能。 (基本上,当前显示在 viewport 中的图像是获取的。其余的不是从服务器获取的。)以下 JavaScript 有效。 用法示例:img class="
正在从事一个使用 Spring/JPA/Rest 的项目。我们有一个类,它有一个 @OneToMany 字段(在下面的例子中说 Student ),它被标记为延迟加载。然而,当我们在 postman
我一直在开发一个单页应用程序,现在它已经变得非常庞大。我从 Require JS 和 AngularJS 开始,但是组件太多,加载单个页面会向服务器发出大约 40-50 个请求(包括模板文件)。 即使
我正在使用 VVO 的延迟加载 http://vvo.github.io/lazyload/很长一段时间以来,但对于这个特定页面,我不知道出了什么问题。它在页面加载时加载所有图像,这些图像应该是延迟加
我是一名优秀的程序员,十分优秀!