刷新图像从外部URL点击
Refresh an image from external URL on click
我有一个内置在Ruby on Rails的仪表板,它从网络摄像头获取图像并以jpg格式提供它们。
我在每个图像上都有一个刷新按钮,并希望能够单独刷新每个图像,而无需刷新整个页面。
<% @shares.each do |camera| %>
<div class="col-md-4 col-sm-6 col-xs-12 cam-box">
<a href="/cameras/<%= camera['id'] %>">
<div id="cam-name"><h5><%= camera['name'] %></h5></div>
<img src="<%= camera['jpg'] %>" alt="">
<a href="#" id="cam-refresh" class="refresh"><span class="glyphicon glyphicon-refresh"></span></a>
</div>
</a>
</div>
<% end %>
有人知道我如何用Jquery实现这一点吗?
欢迎指教
由于您可以直接更新图像而不需要新的src url,因此您可以执行以下操作…
$("a.refresh").on("click", function(e) {
e.stopPropagation();
var $img = $(this).closest("img");
var src = $img[0].src;
src = src.substr(0, src.search("?")) + "?" + new Date().getTime();
$img[0].src = src;
});
这将获取当前图像src并在其末尾附加时间戳,导致重新加载(而不是仅仅使用相同的url,可能不加载或从缓存加载)。
而且,您目前让它对所有刷新链接应用相同的ID。您应该为它们中的每一个应用惟一的ID(只需为每个ID附加一个递增的值)。
最后,我添加了e.stopPropagation()
,使外部链接不会对您单击刷新链接做出反应,否则单击将只是冒泡,您最终会更改页面。
您要做的是异步更新图像。你可以使用jQuery的.ajax()
你可以这样做:
// Set up an onClick listener for the refresh button
// Make sure each refresh button has a class "cam-refresh"
$(".cam-refresh").click(function() {
var $img = $(this).closest("img"), // Find the closest image
url = "filename.extension"; // The script that will return new image url
// Make a request to that URL to obtain a new src parameter
$.get(url, function() {
alert('Request has been submitted');
})
.done(function(data) {
alert( "second success" );
$img.attr("src", data.src);
})
.fail(function() {
alert( "error" );
})
.always(function() {
alert( "finished" );
});
});
相关文章:
- JavaScript下拉菜单-点击按钮并根据所选值重定向到url
- Javascript html每点击一次就会更改url
- 如何在点击提交按钮的url中发布xml格式请求
- 我如何重新加载URL链接,在我点击提交按钮后它保持不变
- SEO机器人是否总是遵循A标签的href属性中的URL,即使点击/点击被Javascript拦截
- 为什么当我点击<a>使用纯javascript;这个“;返回url,数组返回“url”;未定义”;
- 我如何向这个脚本添加一个点击按钮循环URL函数(按给定顺序在URL之间切换),或者这可能吗
- 使用jquery点击更改url
- 如何自动点击下载URL并使用javascript下载文件
- 将URL的文本列表转换为可点击的HTML链接
- AJAX:点击提交按钮加载URL
- 从JavaScript中的文本URL返回可点击的URL
- 每次我点击我的网站,它都会重定向到home.html,然后返回到我点击的所需url
- 如何为同一页面上的两个可点击元素提供不同的URL
- 带有JS点击相对路径的网页URL链接
- 点击URL扩展器
- 点击URL不规则高图
- 如何通过点击url获取数据,然后使用node.js和express.js将其渲染为html
- 点击URL时随机选择下载位置
- 点击url(上面有一个参数),新页面加载和Javascript在页面加载时设置Iframe src