【问题标题】:how to load images in a javascript variable locally如何在本地加载javascript变量中的图像
【发布时间】:2014-10-23 16:22:17
【问题描述】:

我在使用 jquery 为网站制作的背景轮播方面得到了帮助,它工作得很好.. 除了我发现页面最初可能需要一段时间才能加载.. 我想如果我真的下载了我的图片'正在使用背景而不是通过'http://www.whatever.jpg'加载它们,页面可能加载得更快..但我还是个菜鸟..并且无法弄清楚为什么这不是工作..这是我的代码:

var images = [
//even though I downloaded the picture and its in the same folder as this file.js, the background just loads a black page, then the other 2 load fine.
"bg1-orig.jpg",
"http://www.desktopaper.com/wp-content/uploads/Cool-Hd-Wallpapers-2.jpg",
"http://wallpaperscraft.com/image/restaurant_table_interior_modern_style_39288_1920x1080.jpg"
];

var $body = $("body"),
$bg = $("#bg"),
n = images.length,
c = 0; // Loop Counter
num = 200;

// Preload Array of images...
for(var i=0; i<n; i++){
var tImg = new Image();
tImg.src = images[i];
}

$body.css({backgroundImage : "url("+images[c]+")"});

(function loopBg(){
  $bg.hide().css({backgroundImage : "url("+images[++c%n]+")"}).delay(7000).fadeTo(2200, 1,      function(){
$body.css({backgroundImage : "url("+images[c%n]+")"}); 
loopBg();
});
}());

我已经搜索了一段时间...感谢您的帮助!

【问题讨论】:

  • 没有“jquery 变量”之类的东西。语言是 JavaScript,jQuery 只是一个库,所以说 JavaScript 变量是正确的。
  • 我想这也会对我没有托管网站这一事实产生巨大影响,因此这可能会导致它加载缓慢但我什至无法加载图片除非我使用 URL .. 但就像 lochermage 说的那样,无论如何它可能不会有什么不同..

标签: javascript jquery background


【解决方案1】:

在加载图像以在 CSS 中显示之前,尝试预加载图像对您自己不利。无论哪种情况,都必须先加载图像才能看到它们,因此无论如何都会有延迟。

【讨论】:

  • 嗯好吧..所以我想它需要进行不同的编码,以避免在初始加载时页面加载缓慢..
  • 图片在后台自己的线程中加载,它不应该阻止您的页面加载。您应该会看到页面立即以白色背景加载,直到图像出现。如果不是这种情况,则有其他东西阻碍了您的负载。
【解决方案2】:

如果您只想更改 imgs 的 src 属性作为本地文件夹,那么我假设对其他工作代码的唯一更改是您的 images 数组点中的字符串到本地文件。

如果是这种情况,并且如果您想在不添加某种目录更改(../img/ 等)的情况下正确解析位置,那么您需要将这些图像放在同一目录中 作为 html 文件,而不是 file.js 文件。

【讨论】:

  • @Alex Di Vito,您发布的代码是否真的有效,只是速度很慢?有许多可疑的事情表明它不是。 1、预加载for循环没有在任何地方注册tImg变量,并且似乎没有在其他地方使用。 2、loopBg函数调用自身没有良好的递归风格。它无限地这样做。其中任何一个都可能是您真正的问题。
  • 大声笑,是的,它确实有效!我发誓.. 我在另一个网站上使用相同的背景.. 代码是在这里教给我的.. stackoverflow.com/questions/25799055/… 在他的例子中,他甚至在本地加载他的图像.. 也许我应该尝试与 roko 取得联系
猜你喜欢
  • 2020-02-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-05
  • 2017-10-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多