为什么可以't我使用javascript显示一个新图像
Why can't I display a new image using javascript?
我正在尝试创建一个页面,允许查看者在每次用户单击时查看新图像。这些图像分别命名为0.jpg、1.jpg、2.jpg、3.jpg和4.jpg。
但是,图像URL在单击时从未更改。我还尝试在Chrome Developer工具中分析图像,控制台没有出现错误。为什么?
这是我的javascript。
var imageCount = 5;
var currentIndex = Math.floor(Math.random() * imageCount);
function loadNewPhoto() {
currentIndex = (currentIndex + (Math.random() * 3) + 1) % imageCount;
alert(currentIndex);
document.getElementById('generatedImage').src = 'images/' + currentIndex + '.jpg';
}
// Shuffle order of photos.
document.onready = function() {
loadNewPhoto();
document.getElementById('getMeNewPhotoLink').onclick(function(e) {
e.preventDefault();
loadNewPhoto();
});
}
和HTML
<a href="#" id="getMeNewPhotoLink">
<img id="generatedImage" src="images/0.jpg" alt="" />
</a>
http://jsfiddle.net/qLQZf/
让它在这里工作是你的演示
新HTML:
<a href="javascript:shuffle()" id="getMeNewPhotoLink" >
<img id="generatedImage" src="images/0.jpg" alt="" />
</a>
href
现在是一个javascript函数,而不是"#"
,后者是一个更优雅的解决方案
新的Javascript:
var imageCount = 5;
var currentIndex = Math.floor(Math.random() * imageCount);
alert(currentindex);
function loadNewPhoto() {
currentIndex = Math.floor((currentIndex + (Math.random() * 3) + 1) % imageCount);//Added Math.floor, else was generating decimal value
alert(currentIndex);
document.getElementById('generatedImage').src = 'images/' + currentIndex + '.jpg';
}
// Shuffle order of photos, no need of preventdefault, onclick and ready event handling via code.
function shuffle() {
loadNewPhoto();
}
在原始代码中,您错误地分配了onclick
处理程序。应该是:
document.getElementById('getMeNewPhotoLink').onclick = function(e) {
e.preventDefault();
loadNewPhoto();
};
相关文章:
- Facebook共享显示一个接一个的空白页面
- 当var==0时,我如何显示一个警报
- 如何在设定的时间间隔内一次只显示一个图像
- 当满足PHP条件时显示一个弹出窗口
- 检查搜索结果是否存在多次如果是,则在Javascript中只显示一个结果
- 如何在单击按钮时显示一个分区,同时隐藏另一个分区
- 一次显示一个隐藏指令-AngularJS
- 一次显示一个指令AngularJS
- 如何在谷歌地图中突出显示一个州点击一个国家的任何区域
- 在html页面的iframe中显示一个警告框
- Slding表单不会一次显示一个表单
- 在你离开之前,这个网站如何显示一个整洁的HTML框
- Onsen UI在点击时显示一个日期选择器
- 每行仅突出显示一个单元格
- 页面加载时显示一个随机图标
- 在html画布中显示一个图像,然后增大其大小
- 在谷歌地图上显示一个标记
- 只在表中突出显示一个单元格值
- 在谷歌可视化饼图中突出显示一个切片
- 如果所有单选框在jQuery中都有一个选择,则显示一个元素