js,jquery解决 图片加载-滚动底部 问题

这篇具有很好参考价值的文章主要介绍了js,jquery解决 图片加载-滚动底部 问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

js,jquery解决 图片加载-滚动底部 问题

问题描述:让图片加载完成后,再执行滚动函数,避免出现图片加载一半的时候,滚动下来底部只出现半张图片。

这里记录4种测试成功方式:(适用于不容易找到图片位置的情况,否则直接onload函数即可)文章来源地址https://www.toymoban.com/news/detail-802582.html

// 1. 使用超时函数setTimeout来延迟执行
setTimeout(()=>{
    _this.scrollBottom();
}, 10)

// 2. 新建一个img对象,模拟图片加载同步完成(暂时最优)
var img = new Image();
img.src = '/' + res.result.path;
img.onload = function(){
    _this.scrollBottom();
}

// 3. 获取页面所有图片资源,然后判断是否全部加载完成,进行调用滚动函数(for循环和定时回调,比较耗资源)
function areAllResourcesLoaded(){
    var allResources = document.querySelectorAll('img');
    console.log('length' + allResources.length)
    // 判断是否全部加载完
    for (var i = allResources - 4; i < allResources.length; i++){
        if (!allResources[i].complete){
            return false;
        }
    }
    return true;
}
var checkInterval = setInterval(function() {
    if (areAllResourcesLoaded()) {
      clearInterval(checkInterval); // 停止定时器
      _this.scrollBottom();
    }
  }, 10);

// 4. jquery $post方法,异步回调,能够适用于资源加载等问题,在这个方法里面添加调用滚动函数,可以达到完美的效果,这是我偶然测试调整位置发现的,然后才搜$post方法的作用,有兴趣可以去看看
$post(){
    // 调用滚动函数
    _this.scrollBottom();
}

到了这里,关于js,jquery解决 图片加载-滚动底部 问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • js:scroll平滑滚动页面或元素到顶部或底部的方案汇总

    准备知识: scrollWidth: 是元素全部内容的宽度,包括由于overflow溢出而在屏幕上不可见的内容 scrollHeight: 是元素全部内容的高度,包括由于overflow溢出而在屏幕上不可见的内容 scrollTop: 纵向滚动条距离元素最顶部的距离 scrollLeft: 横向滚动条距离元素最左侧的距离 语法 参数 -

    2024年02月09日
    浏览(37)
  • 前端加载超大图片(100M以上)实现秒开解决方案

    前端加载超大图片时,一般可以采取以下措施实现加速: 图片压缩:将图片进行压缩可以大幅减小图片的大小,从而缩短加载时间。压缩图片时需要注意保持图片质量,以免影响图片显示效果。 图片分割:将超大图片分割成多个小图块进行加载,可以避免一次性加载整个图

    2024年02月07日
    浏览(40)
  • 解决echarts配置滚动(dataZoom)后导出图片数据不全问题

    先展现一个echarts,并配置dataZoom,每页最多10条数据,超出滚动 效果: 调用echarts中getDataURL获取图表的数据 URL 问题来了:如数据不分页则可以下载全数据,如数据分页了则只能下载出可视区内容,如何解决? 解决思路:echarts最终生成了canvas,canvas的宽高就是当前可视区的宽

    2024年01月19日
    浏览(43)
  • Unity队列加载图片,解决大量同时加载资源卡顿问题与思路

    1、思路:加载图片的请求都加到队列中,然后一个加载完一个再去加载下一个,直到加载完。 2、问题:         问题是相对也存在的。当加载的数据还在队列中,但是已经跳转到其它的场景,则会出现报错的问题。         每次跳转场景的时候,需要把队列中的数据情况

    2024年02月16日
    浏览(53)
  • 【VUE】解决图片视频加载缓慢/首屏加载白屏的问题

      在 Vue3 项目中,有时候会出现图片视频加载缓慢、首屏加载白屏的问题 通常是由以下原因导致的: 图片或视频格式不当:如果图片或视频格式选择不当,比如选择了无损压缩格式,可能会导致文件大小过大,从而影响加载速度。 页面中同时加载了大量的图片和视频,导致

    2024年02月16日
    浏览(37)
  • 解决js脚本加载失败的问题

    当我们在运行某一个项目时,它的某些JavaScript脚本可能加载不出来,报错。 像现在单页界面应用基本上都是通过js来构建,一旦加载不出,这个项目就不能运行了,那怎么办?我们如何解决这个问题? 这里采用的方案是,重新加载JavaScript脚本。那么什么时候去重新加载js,

    2024年02月09日
    浏览(42)
  • jQuery.js - 前端必备的Javascript库

    作者: WangMin 格言: 努力做好自己喜欢的每一件事 jQuery.js 是什么? jQuery是一个快速简洁、免费开源易用的JavaScript框架, 倡导写更少的代码,做更多的事情 。它封装JavaScript常用的功能代码,提供了一种简便的JavaScript设计模式,以及我们开发中常用到的操作DOM的API,优化HTML文

    2024年02月05日
    浏览(77)
  • nginx部署前端项目 nginx部署无法加载js/css问题 Uncaught SyntaxError: Unexpected token ‘<‘

    注意:将多个html项目放在一个server中出现js,css加载不出来问题 可以将文件放在主项目同级目录下(暂时解决,可能是静态资源配置问题,不会弄)。 1.下载nginx,解压 2.将项目放入html目录下 3.修改nginx.conf文件 4.修改端口防止占用和添加新映射 5.普通html项目,部署会出现以下

    2024年02月04日
    浏览(50)
  • 【VUE】解决VU2项目图片视频加载缓慢/首屏加载白屏的问题

    前端项目中,有时候会出现图片视频加载缓慢、首屏加载白屏的问题 之前写了一篇在VU3项目中的解决方案, 现在讲一下在 Vue2 项目中的解决方法,方法思路都差不多,在代码示例上会有一些小差别 通常是由以下原因导致的: 图片或视频格式不当 :如果图片或视频格式选择

    2024年02月16日
    浏览(43)
  • 【Flutter】Flutter 图片缓存入门:cached_network_image 解决图片加载的问题

    在这里,我们将一起探讨 Flutter 中的一个非常实用的库——cached_network_image。如果你是一位 Flutter 开发者ÿ

    2024年02月14日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包