Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在css3或jquery中以滚动方式加载背景图像_Jquery_Html_Css - Fatal编程技术网

如何在css3或jquery中以滚动方式加载背景图像

如何在css3或jquery中以滚动方式加载背景图像,jquery,html,css,Jquery,Html,Css,我有一个背景图像和文件大小是4+MB的PNG格式。该网站是一个单页网站,我想把背景,但不知道我怎么可以 是否有任何原因来减少网页的大小,以便快速加载网页,或者在css3中有任何方法?所以我可以加载图像部分作为向下滚动页面 这里是图片链接,我想把它作为背景图片放在网页上 拜访 请帮忙。请用谷歌搜索更多关于视差滚动的信息,然后开始你的工作。也可以点击这个示例链接 您可以检查,但是如果您喜欢自己做,那么您可以在到达图像位置时添加一个CSS类 要做到这一点,您可以根据您的解决方案执行以下操作: fun

我有一个背景图像和文件大小是4+MB的PNG格式。该网站是一个单页网站,我想把背景,但不知道我怎么可以

是否有任何原因来减少网页的大小,以便快速加载网页,或者在css3中有任何方法?所以我可以加载图像部分作为向下滚动页面

这里是图片链接,我想把它作为背景图片放在网页上

拜访


请帮忙。

请用谷歌搜索更多关于视差滚动的信息,然后开始你的工作。也可以点击这个示例链接

您可以检查,但是如果您喜欢自己做,那么您可以在到达图像位置时添加一个CSS类

要做到这一点,您可以根据您的解决方案执行以下操作:

function isElementInViewport(el) {
    var rect = el.getBoundingClientRect();

    return (
    rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && /*or $(window).height() */
    rect.right <= (window.innerWidth || document.documentElement.clientWidth) /*or $(window).width() */ );
}

var yourImage = $('#yourImage').get(0);

if(isElementInViewport(yourImage){
   $('#yourImage').addClass('loadImage');
}

视差滚动可能对你有帮助,我还没用过。这是一些插件吗?chk这谢谢,我会检查,也许解决我的问题是,我正在寻找更好的选择,以加载部分图像和感谢帮助。
function isElementInViewport(el) {
    var rect = el.getBoundingClientRect();

    return (
    rect.top >= 0 && rect.left >= 0 && rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) && /*or $(window).height() */
    rect.right <= (window.innerWidth || document.documentElement.clientWidth) /*or $(window).width() */ );
}

var yourImage = $('#yourImage').get(0);

if(isElementInViewport(yourImage){
   $('#yourImage').addClass('loadImage');
}
#yourImage{
    ...
}

#yourImage.loadImage{
    background: url(path/to/yourImage.jpg) no-repeat center;
}