简单的Javascript图像库 - 具有分页点和多个实例

时间:2012-07-23 18:59:37

标签: javascript jquery image gallery

我是Javascript的新手,但我一直在教自己的CSS和一些PHP,所以我希望学习一点。过去几天我一直在寻找我想要的东西,希望这不是一个愚蠢的问题。

我正在尝试为我的一个组合项目建立迷你图像画廊。我有一个大约8个大图像的页面 - 每个图像用于不同的项目。我试图把它弄到哪里如果你点击一个图像它将加载该项目的下一个图像(任务完成!我已经得到了我在网上找到的代码)

但我也希望分页点(基本上是圆形图像),就像我在其他网站上看到的那样,来表示集合中的图像。因此,如果项目中有三个图像,您将看到三个点,然后单击第三个点将您带到第三个图像 - 该点图像将替换为“选定点”图像。有意义吗?

我一直在寻找脚本以及如何执行此操作的示例,这就是我的Javascript所获得的。这是第一个项目的脚本。与其他人一起输入相同的脚本,但更改变量。 img1变成img2然后img3等等。谁能说出什么问题?

<div class="project" id="proj1">

<script type="text/javascript">
var img1 = [ 
    "img/portf/tiger1.jpg", 
    "img/portf/tiger2.jpg", 
    "img/portf/tiger3.jpg" 
];
img1.current = 0;
function showImage1(i) { 
$('#imag1').fadeOut( function() { 
this.src = img1[img1.current]; 
$(this).fadeIn(); 
}); 
}

function NextImage1() { 
img1.current = (img1.current+1) % img1.length; 
showImage1(img1.current); 
}

function PreviousImage1() { 
if (--img1.current < 0) { img1.current = img1.length - 1; } 
showImage1(img1.current);
}
onload = function(){ 
showImage1(0);
};

</script>

<div class="projname">

<div class="ProjectTitle">
Tigercat Website
</div>
<div class="PaginationButtons">
<a href="javascript:showImage1(0)"><img src="img/active.gif" /></a> 
<a href="javascript:showImage1(1)"><img src="img/inactive.gif" /></a> 
<a href="javascript:showImage1(2)"><img src="img/inactive.gif" /></a>
</div>

<div class="clear"></div>

</div>
<div class="projwindow">
<a href="javascript:NextImage1()">
<img src="img/portf/tiger1.jpg" name="Tigerc" width="800" height="600" id="imag1" />
</a>

</div>
</div>

你可以看到我到目前为止所拥有的内容:http://www.gmisen.com 非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

可能不是最好的学习经历,但您可以使用jQuery循环插件轻松实现这一目标:http://jquery.malsup.com/cycle/int2.html(看一下寻呼机示例)

这是一个演示:http://jsfiddle.net/69LNJ/

<强> HTML

<div class="slideshow">
<img src="http://flickholdr.com/400/400/cat/bw">
<img src="http://flickholdr.com/400/400/cat/bw/1">
<img src="http://flickholdr.com/400/400/cat/bw/2">
</div>​

<强> JS

$(function() {
    $('.slideshow').before('<div id="nav">').cycle({
        fx: 'fade',
        speed: 'fast',
        timeout: 0,
        pager: '#nav'
    });
})​;

<强> CSS

#nav{
  position: absolute;
  top: 20px;
    left: 20px;
    z-index: 1000;
}

#nav a{
  background-color: cyan;
  border-radius: 10px;
  height: 20px;
  width: 20px;
  display: block;
  text-indent: -1000px;
    float: left;
    margin-right: 10px;
}
#nav a.activeSlide{
  background-color: blue;
}