- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在编写一个前端网络应用程序,为用户所在位置提供天气状况。虽然基本功能正在运行,但目前我正在尝试编写允许应用程序根据当前天气状况更改 body
背景的逻辑。为此,我正在使用 OpenWeatherMap API .对此 API 的调用会返回一个 JSON 响应,在返回的许多内容中,有两个字段 - id
和 icon
。 id
返回一个确定天气状况的数字代码,如 clear skies 或 broken clouds,icon
返回一个确定是白天还是晚上的字符串。
为了编写逻辑,我创建了一个 JS 对象,它将 id
条件代码作为 keys
并将相应的图像作为 values
。在 .ajax()
函数中,我有一个 switch
block ,其中我根据返回的 id
switch
, 然后使用 .css("background-image", "url(link)");
设置正文的背景图像。
代码的问题在于 - 这样浏览器似乎无法识别背景图像的 URL。我在控制台中看到 GET - ... 404 not found
错误。但是,如果我不尝试通过 JS 对象访问图像的 URL,而是直接将图像的 url 放在 .css()
中,它就可以工作。但这当然不是我想要的。
这是 JS 对象 -
//object for images
var weatherConditions = {
//Group 2xx: Thunderstorm
'2xx' : 'http://www.weathersnapshot.com/wp-content/uploads/2014/04/414.jpg',
//Group 3xx: Drizzle
'3xx' : 'https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcSsE4vZDsOCCsuE9X2WljNm0VewUdFj7onj438c9mD3_I6AfT71sA',
//Group 5xx: Rain
'5xx' : 'https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcSsAlLmRls8CtL994qiwssqvQwdMNEI7yJcUUPWqNhMdtjGHExK',
//Group 6xx: Snow
'6xx': 'https://dl.dropbox.com/s/sywq7fk1u65lycf/6810006-snow-background.jpg?dl=0',
//Group 800: Clear - day and night
'800': ['https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcTnYxZWx1uOc83uWxrTFfW7IiVj0XXMKM6fSdqS9U5kjh7Op_71WA', 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQnSe0ASBAUAcsvEAkQqO28WFGCjLWAgODq9eosh2SBr9f4-_NI4Q'],
//Group 80x: Clouds - day and night
'8xx' : ['https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcQ_Fl9xNhT3AVwafZ2GeciqaqdLXosI-nPfhrVGvM7QFO0z0KQa', 'https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcTgvOYSdZ7tHUybUfF5ydC2G97i78pv3hZ8jlX632lCu26VABGs3Q']
};
注意 - 我也尝试过在 Dropbox 上托管图像,因为我认为错误可能是由于图像链接本身造成的。但是没有效果。
这是开关 block 的一部分 -
//---------get background-----------------
var weatherID = data.weather[0].id;
console.log("Weather ID = " + weatherID);
switch(weatherID) {
case 600: console.log(weatherConditions['6xx']);
$("body").css("background-image", "url(weatherConditions['6xx']");
break;
case 800: console.log("inside clear sky weather");
$("body").css("background-image", "url(weatherConditions.8xx[0])");
break;
case 803: //check for day or night
if(data.weather[0].icon.endsWith("d")) {
console.log("inside day weather");
$("body").css("background-image", "url(weatherConditions['8xx'][0])");
}
break;
case 804: $("body").css("background-image", "url(http://www.weathersnapshot.com/wp-content/uploads/2014/04/414.jpg)");
}
这是 Pen包含完整代码。
最佳答案
"url(weatherConditions['6xx']"
是完全它的样子。那里没有发生替换,你告诉浏览器使用 weatherConditions['6xx']
,从字面上看,作为 URL。(您还缺少 )
。)
你可能想替换:
$("body").css("background-image", "url(" + weatherConditions['6xx'] + ")");
在 ES2015 中(你今天可以使用它进行转译,而在几个月/一年/不转译的情况下)你可以使用一个模板字符串(用反引号引用,使用 ${...}
对于占位符):
$("body").css("background-image", `url(${weatherConditions['6xx']})`);
这是一个使用我们的 Gravatars 的例子:
var gravatars = {
"Manish": "https://www.gravatar.com/avatar/4657faf6aa5c4b2c01ce4fb6c63300ed?s=164&d=identicon&r=PG",
"T.J.": "https://www.gravatar.com/avatar/ca3e484c121268e4c8302616b2395eb9?s=164&d=identicon&r=PG"
};
$("input[type=button]").on("click", function() {
$(".holder").css("background-image", "url(" + gravatars[this.value] + ")");
});
.holder {
display: inline-block;
width: 164px;
height: 163px;
}
<input type="button" value="Manish">
<input type="button" value="T.J.">
<div>
<div class="holder"></div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
关于javascript - 使用 Javascript 对象通过 jQuery 的 .css() 设置背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35348586/
我正在尝试学习 Knockout 并尝试创建一个照片 uploader 。我已成功将一些图像存储在数组中。现在我想回帖。在我的 knockout 码(Javascript)中,我这样做: 我在 Jav
我正在使用 php 编写脚本。我的典型问题是如何在 mysql 中添加一个有很多替代文本和图像的问题。想象一下有机化学中具有苯结构的描述。 最有效的方法是什么?据我所知,如果我有一个图像,我可以在数据
我在两个图像之间有一个按钮,我想将按钮居中到图像高度。有人可以帮帮我吗? Entrar
下面的代码示例可以在这里查看 - http://dev.touch-akl.com/celebtrations/ 我一直在尝试做的是在 Canvas 上绘制 2 个图像(发光,然后耀斑。这些图像的链接
请检查此https://jsfiddle.net/rhbwpn19/4/ 图像预览对于第一篇帖子工作正常,但对于其他帖子则不然。 我应该在这里改变什么? function readURL(input)
我对 Canvas 有疑问。我可以用单个图像绘制 Canvas ,但我不能用单独的图像绘制每个 Canvas 。- 如果数据只有一个图像,它工作正常,但数据有多个图像,它不工作你能帮帮我吗? va
我的问题很简单。如何获取 UIImage 的扩展类型?我只能将图像作为 UIImage 而不是它的名称。图像可以是静态的,也可以从手机图库甚至文件路径中获取。如果有人可以为此提供一点帮助,将不胜感激。
我有一个包含 67 个独立路径的 SVG 图像。 是否有任何库/教程可以为每个路径创建单独的光栅图像(例如 PNG),并可能根据路径 ID 命名它们? 最佳答案 谢谢大家。我最终使用了两个答案的组合。
我想将鼠标悬停在一张图片(音乐专辑)上,然后播放一张唱片,所以我希望它向右移动并旋转一点,当它悬停时我希望它恢复正常动画片。它已经可以向右移动,但我无法让它随之旋转。我喜欢让它尽可能简单,因为我不是编
Retina iOS 设备不显示@2X 图像,它显示 1X 图像。 我正在使用 Xcode 4.2.1 Build 4D502,该应用程序的目标是 iOS 5。 我创建了一个测试应用(主/细节)并添加
我正在尝试从头开始以 Angular 实现图像 slider ,并尝试复制 w3school基于图像 slider 。 下面我尝试用 Angular 实现,谁能指导我如何使用 Angular 实现?
我正在尝试获取图像的图像数据,其中 w= 图像宽度,h = 图像高度 for (int i = x; i imageData[pos]>0) //Taking data (here is the pr
我的网页最初通过在 javascript 中动态创建图像填充了大约 1000 个缩略图。由于权限问题,我迁移到 suPHP。现在不用标准 标签本身 我正在通过这个 php 脚本进行检索 $file
我正在尝试将 python opencv 图像转换为 QPixmap。 我按照指示显示Page Link我的代码附在下面 img = cv2.imread('test.png')[:,:,::1]/2
我试图在这个 Repository 中找出语义分割数据集的 NYU-v2 . 我很难理解图像标签是如何存储的。 例如,给定以下图像: 对应的标签图片为: 现在,如果我在 OpenCV 中打开标签图像,
import java.util.Random; class svg{ public static void main(String[] args){ String f="\"
我有一张 8x8 的图片。 (位图 - 可以更改) 我想做的是能够绘制一个形状,给定一个 Path 和 Paint 对象到我的 SurfaceView 上。 目前我所能做的就是用纯色填充形状。我怎样才
要在页面上显示图像,你需要使用源属性(src)。src 指 source 。源属性的值是图像的 URL 地址。 定义图像的语法是: 在浏览器无法载入图像时,替换文本属性告诉读者她们失去的信息。此
**MMEditing是基于PyTorch的图像&视频编辑开源工具箱,支持图像和视频超分辨率(super-resolution)、图像修复(inpainting)、图像抠图(matting)、
我正在尝试通过资源文件将图像插入到我的程序中,如下所示: green.png other files 当我尝试使用 QImage 或 QPixm
我是一名优秀的程序员,十分优秀!