你有两个选择。
选项一是为每个图像创建绝对定位的 div,并通过点击事件循环它们。
选项二是使用点击事件循环浏览每张图片。
选项一:
HTML
<div id="container">
<div id="image-1" class="images">
<img src="path/some_image-0.gif" width="150" />
</div>
<div id="image-2" class="images">
<img src="path/some_image-1.gif" width="150" />
</div>
<div id="image-3" class="images">
<img src="path/some_image-2.gif" width="150" />
</div>
<div id="image-4" class="images">
<img src="path/some_image-3.gif" width="150" />
</div>
</div>
CSS
#container {
position:relative;
}
.images {
position:absolute;
top:0px;
left:0px;
display:none;
}
JavaScript
var total_images = 4; // Set this variable to total number of images
$(document).ready(function() {
$('.images').hide();
$('#image-1').show();
$('.images').click(function() {
var current_img = parseInt($(this).attr('id').split('-')[1]); // get current file number
var new_img = current_img+1; // Increment current image number by one
$('#image-' + current_img).hide();
if(new_img > total_images){ // check if total has been reached
new_img = 1;
}
$('#image-' + new_img).show(); // set new image source
});
});
此选项会更快,因为您无需等待加载图像。
这是此选项的 JSFiddle:http://jsfiddle.net/xsCVY/1/
选项二:
HTML
<div id="container">
<div id="image">
<img src="/path/some_image-0.gif" class="images" />
</div>
</div>
JavaScript
<script>
var total_images = 3; // Set this variable to total number of images
$(document).ready(function() {
$('.images').click(function() {
var current_img = parseInt($(this).attr('src').split('-')[1]); // get current file number
var new_img = current_img+1; // Increment current image number by one
if(new_img > total_images){ // check if total has been reached
new_img = 0;
}
$(this).attr('src','/path/some_image-' + new_img + '.gif'); // set new image source
</script>
请记住,要使其正常工作,文件和文件路径中应该只有一个“-”,否则您必须拆分为不同的唯一字符,然后用数字 0 命名所有图像- 在“-”或您选择的其他字符之后的任何内容。
这是一个 jsfiddle:http://jsfiddle.net/PDzT8/