使用jquery更改Images-src
changing Images src with jquery
我使用此代码来更改图像src,但它不起作用。如果我写的是变量文本值福克斯示例:
track = '212';
artist = 'azealea banks';
它只更改了最后一个图像src,但当我从邻居span中获取这些变量值时,它根本不起作用。
我的jQuery代码:
$(function () {
$(".plimg").attr("src",
function (index) {
var title = $(this).next('span.titletrack').text();
alert(title);
var array = title.split(' - ');
var track = array[0];
var artist = array[1];
var output;
$.ajax({
url: "http://ws.audioscrobbler.com/2.0/?method=track.search",
data: {
track: track,
artist: artist,
api_key: "ca86a16ce762065a423e20381ccfcdf0",
format: "json",
lang: "en",
limit: 1
},
async: false,
success: function (data) {
output = data.results.trackmatches.track.image[0]["#text"];
}
});
return output;
});
});
和HTML
<div id="playlist" class="scrollable" style="height: 300px;overflow-y: auto">
<li>
<img src="/img/playlist/33a - Sulis Vardo.jpg">
<span class="titletrack">33a - Sulis Vardo</span>
</li>
<li>
<img class="plimg" src="/img/playlist/33a - Shota.jpg">
<span onclick="playinToplaylist($(this).html());" class="titletrack">33a - Shota</span>
</li>
</div>
我做了一些更改。首先,它只找到最后一个图像,因为只有HTML中的最后一个图片有plimg
类,所以我添加了:
<div id="playlist" class="scrollable" style="height: 300px;overflow-y: auto">
<li>
<img class="plimg"/>
<span class="titletrack">33a - Sulis Vardo</span>
</li>
<li>
<img class="plimg"/>
<span onclick="playinToplaylist($(this).html());" class="titletrack">33a - Shota</span>
</li>
</div>
其次,我更改了JavaScript,以迭代图像并异步加载图像源。如果您检查对ajax调用的响应,那么为第二个图像传递的详细信息不会返回任何图像数据,所以这就是为什么没有加载该图像数据的原因。
$(function(){
$("img.plimg").each(function() {
var img = $(this);
var title = img.next("span.titletrack").text();
var titleDetails = title.split(' - ');
var track = titleDetails[0];
var artist = titleDetails[1];
$.ajax({
url: "http://ws.audioscrobbler.com/2.0/?method=track.search",
data: {
track: track,
artist: artist,
api_key: "ca86a16ce762065a423e20381ccfcdf0",
format: "json",
lang: "en",
limit: 1
},
async: true,
success: function (data) {
var trackData = data.results.trackmatches.track;
if(!trackData){
alert("No track data for " + artist + " / " + track);
return;
}
var output = trackData.image[0]["#text"];
img.attr("src", output);
}
});
});
});
我在这里把这些更新放在了一个JSFiddle上。
相关文章:
- Javascript将图像src更改为淡入淡出
- JQUERY-在没有悬停后将SRC更改回原来的状态
- 当使用 Javascript 单击图像 A 时,如何将图像 B 的 src 更改为图像 A 的 src
- JS:设置src更改的动画持续时间
- Angularjs在node-webkit应用程序中将image src更改为“unsafe:”
- <img>在Firefox中src更改时闪烁
- 使用jquery检测iframe-src更改
- iframe-css-src更改,如果父css src更改
- 如何在 iframe src 更改时触发函数
- 将 #contentImg 的 src 更改为单击的链接内的图像
- 将属性从 data-src 更改为 src WITHOUT jQuery
- 自定义插件,用于在 src 更改时移动图像而不移动图像
- 如何在 iframe src 更改后立即更改 iframe 组件的值
- 将 iframe 的 src=“” 更改为 javascript:
- iframe 在 src 更改后不加载内容 |Javascript
- Src 更改在 Firefox 中工作,而不是在 IE/Chrome 中
- 将 iframe src 更改为用户输入的 HTML 代码
- ng src在photo.src更改时有一些延迟
- 使用jquery更改Images-src
- 如何将iframe的src更改为iframe中的嵌入src