奇怪的js图像库的行为
Strange js behaviour of image gallery
你好,我想用纯javascript建立一个图像库,并找到了一个很好的方法http://www.trans4mind.com/personal_development/JavaScript/imageSlideShow.htm。
然而,它并没有像预期的那样工作。即使我成功地链接了我的Next/Back按钮来切换数组中的图像,第二个图像也只会在恢复到初始图像之前出现几分之一秒。
在js中有什么乱七八糟的吗?
currentIndex = 0;
MyImages = new Array();
MyImages[0] ="images/sampleimage.jpg";
MyImages[1] ="images/kuh.jpg";
function preload()
{
for (var i=0;i<MyImages.length;i++){
var imagesPreloaded = new Image();
imagesPreloaded.src = MyImages[i];
}
}
preload();
function Nexter(){
if (currentIndex<MyImages.length-1){
currentIndex=currentIndex+1;
document.theImage.src=MyImages[currentIndex];
}
else {
currentIndex=0;
document.theImage.src=MyImages[currentIndex];
}
}
function Backer(){
if (currentIndex>0){
currentIndex=currentIndex-1;
document.theImage.src=MyImages[currentIndex];
}
else {
currentIndex=1;
document.theImage.src=MyImages[currentIndex];
}
}
$("#nav_left").on("click",function(){
Nexter();
});
$("#nav_right").on("click",function(){
Backer();
});
//
//img Gallery
//
$(".gallery_nav img").on("mouseover", function (){
$(this).css("opacity", 0.8);
});
$(".gallery_nav img").on("mouseleave", function (){
$(this).css("opacity", 0.1);
});
谢谢任何有用的提示。顺便说一句:Firebug在控制台中告诉我以下内容:
图像损坏或截断:
最后,上面的代码是我目前的知识和专业水平所能处理的最大范围的js。所以在回答
看起来您的链接标签()的标记正在上升或可能重新加载页面-这会将图库重置为图像#1。尝试在链接标记的href属性中添加#(以表示它们为锚点),或者直接将它们更改为标签
Example
<a href="#" class="gallery_nav" id="nav_left"><img src="images/pfeil_links.svg" alt="First image"></a>
这里是一个修改后的JSFiddle,似乎工作正常http://jsfiddle.net/Nf7yR/1/
这个版本使用了span;达到同样的效果:http://jsfiddle.net/Nf7yR/2/
相关文章:
- 更改标记.js图像/链接表达式
- 在safari和chrome中,js图像加载产生了奇怪的结果
- 节点 js 流星 js 图像文件上传图像损坏
- 使用像素检测后无法拖动Kinetic.JS图像
- Ajax/Js图像上传器:创建重复的预览图像
- 加载一个js图像
- 平滑幻灯片.js图像预加载
- Js 图像滑块,中间垂直对齐
- 如何将文本框弹出窗口(Jquery 工具提示或类似工具)添加到画布中的 Fabric JS 图像
- 将图像上传到节点.js图像“未定义
- 自定义 JS 图像查看器在每次按下“下一步”键后加载速度较慢
- 三.js图像纹理调整大小消息
- JS图像转换不起作用
- 关于为Raphaë添加淡入淡出效果的问题;l.js图像元素
- Fabric.js图像上的圆形边界框
- 鼠标点击JS图像替换
- JS图像上传失败OSX Localhost
- 搜索js图像裁剪插件,无需jquery
- Angular JS图像数组编码麻烦
- JS:图像翻转