所以我完成了这个脚本,如果你点击某个图像然后重新加载页面就会改变图像。如果我只是放入脚本的第一部分,以便它只适用于第一个图像,一切正常,但是当我放入第二行时,它会再次加载页面并加载图像。你能告诉我什么是错的吗?
这是一个jsfddle链接http://jsfiddle.net/ex6kT/11/
<script type="text/javascript">//<![CDATA[
$(window).load(function(){
$('a').one('click',function(e){
e.preventDefault();
$(this).delay(1000).queue(this.click).find('.1')[0].src = "images/smileys/S1.jpg";
});
});//]]>
</script>
<script type="text/javascript">//<![CDATA[
$(window).load(function(){
$('a').one('click',function(e){
e.preventDefault();
$(this).delay(1000).queue(this.click).find('.2')[0].src = "images/smileys/S2.png";
});
});//]]>
</script>
<script type="text/javascript">//<![CDATA[
$(window).load(function(){
$('a').one('click',function(e){
e.preventDefault();
$(this).delay(1000).queue(this.click).find('.3')[0].src = "images/smileys/S3.png";
});
});//]]>
</script>
<script type="text/javascript">//<![CDATA[
$(window).load(function(){
$('a').one('click',function(e){
e.preventDefault();
$(this).delay(1000).queue(this.click).find('.4')[0].src = "images/smileys/S4.png";
});
});//]]>
</script>
<script type="text/javascript">//<![CDATA[
$(window).load(function(){
$('a').one('click',function(e){
e.preventDefault();
$(this).delay(1000).queue(this.click).find('.5')[0].src = "images/smileys/S5.jpg";
});
});//]]>
</script>
<script type="text/javascript">//<![CDATA[
$(window).load(function(){
$('a').one('click',function(e){
e.preventDefault();
$(this).delay(3000).queue(this.click).find('.6')[0].src = "images/smileys/S6.jpg";
});
});//]]>
</script>
<script type="text/javascript">//<![CDATA[
$(window).load(function(){
$('a').one('click',function(e){
e.preventDefault();
$(this).delay(3000).queue(this.click).find('.7')[0].src = "images/smileys/S7.jpg";
});
});//]]>
</script>
<script type="text/javascript">//<![CDATA[
$(window).load(function(){
$('a').one('click',function(e){
e.preventDefault();
$(this).delay(3000).queue(this.click).find('.8')[0].src = "images/smileys/S8.jpg";
});
});//]]>
</script>
<script type="text/javascript">//<![CDATA[
$(window).load(function(){
$('a').one('click',function(e){
e.preventDefault();
$(this).delay(3000).queue(this.click).find('.9')[0].src = "images/smileys/S9.jpg";
});
});//]]>
</script>
<script type="text/javascript">//<![CDATA[
$(window).load(function(){
$('a').one('click',function(e){
e.preventDefault();
$(this).delay(3000).queue(this.click).find('.10')[0].src = "images/smileys/S10.jpg";
});
});//]]>
</script>
答案 0 :(得分:0)
您正在使用执行以下操作的.one():
将处理程序附加到元素的事件。处理程序已执行 每个事件类型每个元素最多一次。
希望这有帮助