请问使用js如何实现,点击屏幕同一个部位,每次点击出现的效果都不一样,比如第一次点击出现一张图片,第二次点击出现另一个图片
var imgArr = ['imgurl-01','imgurl-02','imgurl-03'];
$('element').click(function(){
var index = Math.round(Math.random()*2);
$('img').attr('src',imgArr[index]);
})
我只是举一个例子。
var n = 0;
$('element').on('click',function(){
$('.image'+n).show().siblings().hide();
n = n+1;
});
是的,使用全局数组
// 存放位置对应的计数
position_map = [];
// 获取位置计数
$position_count = position_map['位置信息']
$position_count ?: 0;
// 位置判断
position_map['位置信息', $position_count+1]
思路大抵如此
你可以弄一个计数变量进行判断
使用闭包记录要显示的顺序以及当前显示的index或者其他什么
也可以把当前显示的index或者其他什么存储在一个隐藏dom节点里
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
var arr=["http://img.sootuu.com/vector/200801/072/0556.jpg",
'http://img.sootuu.com/vector/2006-4/2006420113254343.jpg',
'http://img.sootuu.com/vector/2006-4/2006420105427584.jpg']
// 随机形式
// $(".demo").click(function(){
// var index = Math.floor((Math.random()*arr.length));
// $(".show img").attr("src",arr[index]);
// })
//按顺序
var i=0;
$(".demo").click(function(){
if(i>=arr.length){
i=0;
}
$(".show img").attr("src",arr[i]);
i=i+1;
console.log(i);
})
})
</script>
<style type="text/css">
</style>
</head>
<body>
<a class="demo" href="javascript:void(0)">点击更换图片</a>
<div class="show">
<img src="">
</div>
</body>
</html>