可以通过单击链接刷新javascript
Possible to refresh a javascript via link click?
可能重复:
当前页面的Javascript硬刷新
我有一个随机图像javascript,它在页面加载时加载随机图像。我想在点击名为"随机图像"的链接时加载另一个随机图像。这是页面:http://www.heybrian.com/
按照现在的方式,"随机图像"链接只会刷新整个页面,从而拉入一个新的随机图像。
编辑:
下面是(截断的(javascript代码。请注意,大约有100张随机照片可以加载,但为了简化,我只包含了四张:
images = new Array(99);
images[0] = "<div id='content_white_border' style='border: 1px white solid;'><div id='content_photo'><a href = 'travels/thailand/2004/ko_tao.php'><img src='lib/images/travels/thailand/2004/ko_tao_mango_bay.jpg' alt='' width='956' height='512' border='0' /></a></div></div><h4>Mango Bay (Taa Toh Bay), Ko Tao — April 9, 2004</h4>";
images[1] = "<div id='content_white_border' style='border: 1px white solid;'><div id='content_photo'><a href = 'travels/france'><img src='lib/images/travels/france/eiffel_close.jpg' alt='' width='956' height='512' border='0' /></a></div></div><h4>La Tour Eiffel, Paris, France — November 26, 2006</h4>";
images[2] = "<div id='content_white_border' style='border: 1px white solid;'><div id='content_photo'><a href = 'travels/china/2007/hangzhou.php'><img src='lib/images/travels/china/2007/hangzhou_gold_buddha.jpg' alt='' width='956' height='512' border='0' /></a></div></div><h4>Buddha image, Língyǐn Temple <span lang='zh' xml:lang='zh'>灵隐寺</span>, Hángzhōu, China — August 2, 2007</h4>";
images[3] = "<div id='content_white_border' style='border: 1px white solid;'><div id='content_photo'><a href = 'travels/sri_lanka'><img src='lib/images/travels/sri_lanka/elephant_baby_wide.jpg' alt='' width='956' height='512' border='0' /></a></div></div><h4>Baby at the elephant breeding center, Kandy, Sri Lanka</h4>";
images[4] = "<div id='content_white_border' style='border: 1px white solid;'><div id='content_photo'><a href='travels/mongolia/'><img src='lib/images/travels/mongolia/man_baby_3_wide.jpg' alt='' width='956' height='512' border='0' /></a></div></div><h4>Mongol and his baby, Mongolia — July 2006</h4>";
index = Math.floor(Math.random() * images.length);
document.write(images[index]);
如果您知道所有可供选择的图像,您可以将它们放在一个数组中,并在按钮完全加载到Javascript中时随机选择一个:
var imgs = ["a.jpg", "b.jpg", "c.jpg"];
function pickImage()
{
var idx = parseInt(Math.floor(Math.random() * imgs.length), 10);
document.getElementById("random_image").src = imgs[idx];
}
如果你不想把图像数组放在Javascript中,那么你需要使用AJAX来调用服务器。然后,服务器将确定应该显示哪个图像,并将路径返回给浏览器。
您不应该在"随机图像"链接上使用location.reload((。相反,使用JavaScript添加图像内容:
var link = document.getElementById('id_for_random_image_link');
link.addEventListener("click", function(evt){
// code to insert your image
}, false);
此外,您不应该使用document.write();
,当您只想用新图像替换<div id="content_photo">
中的图像时,这是低效的。因此,您应该删除JavaScript images
数组中<div id='content_white_border'><div id="content_photo">
的所有HTML标记,并将上一个函数转换为:
var link = document.getElementById('id_for_random_image_link');
link.addEventListener("click", function(evt){
var index = Math.floor(Math.random() * images.length);
document.getElementById('content_photo').innerHTML = images[index];
}, false);
使用onclick
事件并随机更改SRC属性;
保持干燥:从JS中删除所有重复的泥泞HTML,并将其放在文档主体中,只在数组中保留文件名和任何其他可变数据(如href
(。可以使用一组对象:
var imgs = [
{name:"some_img.jpg",
href:"dir'some.php"},
{name:"another_img.jpg",
href:"direct'something.php"},
{name:"yet_antoher_img.jpg",
href:"directory'some.php"}];
然后使用JQuery替换图像SRC以及其他必要的属性和内容。简化结构:
$("button").onclick(function(){
index = Math.floor(Math.random() * imgs.length);
current = imgs[index];
$("a").attr("href",current.href);
$("img").attr("src",current.name);
});
- 无法't在不使用Javascript刷新页面的情况下多次将值传递给文本框
- 如何使用javascript刷新父页面并关闭子窗口
- 如何在javaservlet中通过javascript刷新图像
- 使用JavaScript刷新页面时未保存的更改
- 如何使用javascript刷新我的html页面时清除按钮单击
- 我如何让网页在每次使用 Javascript 刷新时随机生成一个新视频
- 如何返回到上一页并用php或javascript刷新它
- 在带有嵌入的对象中使用JavaScript刷新视频
- 使用javascript刷新ContentPlaceHolder
- 如何使用javascript刷新APPLET而不在asp.net中重新加载页面
- Javascript 刷新查询数据库
- PHP密码脚本和JavaScript刷新冲突,发出我想消除的表单重新提交消息
- 添加到购物车而不使用 JavaScript 刷新
- 使用 JavaScript 刷新页面一次
- 单击以通过 JavaScript 刷新对象
- 强制 JavaScript 刷新
- Javascript刷新一次而不使用主题标签
- 在 Firefox 中使用 JavaScript 刷新页面
- 使用 JavaScript 刷新内部页面
- 如何使用 javascript 刷新另一个页面,而无需在新选项卡中打开同一页面