Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jQuery更改单击时的图像源?_Jquery_Image_Function_Href - Fatal编程技术网

如何使用jQuery更改单击时的图像源?

如何使用jQuery更改单击时的图像源?,jquery,image,function,href,Jquery,Image,Function,Href,我目前正在构建一个完整的背景图像布局,我想根据用户访问的页面更改图像。说到点子上:当用户单击链接时,我需要更改images属性。这就是我取得的成绩: $(function() { $('.menulink').click(function(){ $("#bg").attr('src',"img/picture1.jpg"); }); }); 谢谢你,可能很简单,但在我头上 您需要使用preventDefault()使链接在单击时不会通过: 小提琴: 你应该考虑为此使用一个

我目前正在构建一个完整的背景图像布局,我想根据用户访问的页面更改图像。说到点子上:当用户单击链接时,我需要更改images属性。这就是我取得的成绩:

$(function() {
  $('.menulink').click(function(){
    $("#bg").attr('src',"img/picture1.jpg");
  });
});



谢谢你,可能很简单,但在我头上

您需要使用
preventDefault()
使链接在单击时不会通过:

小提琴:


你应该考虑为此使用一个按钮。链接通常应用于链接。按钮可用于您希望添加的其他功能。Neals解决方案可行,但它是一种变通方法


如果使用的是
而不是
,则原始代码应能按预期工作。

它会切换回去,因为默认情况下,单击链接时,它会跟随链接并加载页面。 在你的情况下,你不想这样。您可以通过执行e.preventDefault()来防止它;(如Neal所述)或通过返回false:

$(function() {
 $('.menulink').click(function(){
   $("#bg").attr('src',"img/picture1.jpg");
   return false;
 });
});
关于防止默认和返回false之间的差异


在这种情况下,return false可以正常工作,因为事件不需要传播。

您可以使用jQuery的
attr()
函数,如
$(“#id”).attr('src',“source”)

当您单击文本或链接时,图像将被更改为另一个图像,因此您可以使用下面的脚本帮助您在单击链接时更改图像:

<script>
$(document).ready(function(){
$('li').click(function(){
var imgpath = $(this).attr('dir');
$('#image').html('<img src='+imgpath+'>');
});
$('.btn').click(function(){
$('#thumbs').fadeIn(500);
$('#image').animate({marginTop:'10px'},200);
$(this).hide();
$('#hide').fadeIn('slow');
});
$('#hide').click(function(){
$('#thumbs').fadeOut(500,function (){
$('#image').animate({marginTop:'50px'},200);
});
$(this).hide();
$('#show').fadeIn('slow');
});
});
</script>




 <div class="sandiv">
    <h1 style="text-align:center;">The  Human  Body  Parts :</h1>
    <div id="thumbs">
    <div class="sanl">
    <ul>
    <li dir="5.png">Human-body-organ-diag-1</li>
    <li dir="4.png">Human-body-organ-diag-2</li>
    <li dir="3.png">Human-body-organ-diag-3</li>
    <li dir="2.png">Human-body-organ-diag-4</li>
    <li dir="1.png">Human-body-organ-diag-5</li>
    </ul>
    </div>
    </div>
    <div class="man">
    <div id="image">
    <img src="2.png" width="348" height="375"></div>
    </div>
    <div id="thumbs">
    <div class="sanr" >
    <ul>
    <li dir="5.png">Human-body-organ-diag-6</li>
    <li dir="4.png">Human-body-organ-diag-7</li>
    <li dir="3.png">Human-body-organ-diag-8</li>
    <li dir="2.png">Human-body-organ-diag-9</li>
    <li dir="1.png">Human-body-organ-diag-10</li>
    </ul>
    </div>
    </div>
    </div>

$(文档).ready(函数(){
$('li')。单击(函数(){
var imgpath=$(this.attr('dir');
$('#image').html('');
});
$('.btn')。单击(函数(){
$('拇指').fadeIn(500);
$('#image')。动画({marginTop:'10px'},200);
$(this.hide();
$('hide').fadeIn('slow');
});
$(“#隐藏”)。单击(函数(){
$(“#拇指”).fadeOut(500,函数(){
$('#image')。动画({marginTop:'50px'},200);
});
$(this.hide();
$('show').fadeIn('slow');
});
});
人体各部分:
    人体器官诊断-1 人体器官诊断-2 人体器官诊断-3 人体器官诊断-4 人体器官诊断-5
    人体器官诊断-6 人体器官诊断-7 人体器官诊断-8 人体器官诊断-9 人体器官诊断-10
css:


正文{字体系列:日内瓦塔荷马,无衬线;颜色:#ccc;字体大小:11px;边距:0;填充:0;背景色:#111111}
.sandiv{宽度:980px;高度:570px;边距:0自动;边距顶部:20px;填充:10px;背景色:#000;-webkit框阴影:0 1px 2px#666;框阴影:0 1px 2px#666;}
#图像{宽度:348px;高度:375px;边框半径:100%;边距:0自动;边距顶部:50px;边距底部:20px;}
#拇指{宽度:400px;边距:0自动;显示:无;}
ul{列表样式:无;填充:0;边距:0;}
li{宽度:自动;高度:50px;边框半径:100%;边距:5px;光标:指针;}
桑尔先生
{
边缘顶部:50px;
浮动:左;
宽度:210px;
左边距:30px;
右边距:30px;
}
桑尔先生
{
边缘顶部:50px;
浮动:左;
宽度:210px;
左边距:60像素;
右边距:30px;
}
先生
{
浮动:左;
宽度:350px;
左边距:30px;
右边距:30px;
}

我认为上面的代码对您非常有用。我从或这里获得的代码供您参考

,应该可以使用。你得到的错误是什么?@Tejs这是一个预防默认问题,我相信我忘了告诉你们,它可以工作,但一旦它改变了图像,它就会变回第一个图像……@Johannes,请看下面我的答案。这是因为ur链接正在刷新页面,您需要使用
preventDefault()
从happening@Neal啊,我马上就去试试。。。
 $('div#imageContainer').click(function () {
      $('div#imageContainerimg').attr('src', 'YOUR NEW IMAGE URL HERE'); 
});
<script>
$(document).ready(function(){
$('li').click(function(){
var imgpath = $(this).attr('dir');
$('#image').html('<img src='+imgpath+'>');
});
$('.btn').click(function(){
$('#thumbs').fadeIn(500);
$('#image').animate({marginTop:'10px'},200);
$(this).hide();
$('#hide').fadeIn('slow');
});
$('#hide').click(function(){
$('#thumbs').fadeOut(500,function (){
$('#image').animate({marginTop:'50px'},200);
});
$(this).hide();
$('#show').fadeIn('slow');
});
});
</script>




 <div class="sandiv">
    <h1 style="text-align:center;">The  Human  Body  Parts :</h1>
    <div id="thumbs">
    <div class="sanl">
    <ul>
    <li dir="5.png">Human-body-organ-diag-1</li>
    <li dir="4.png">Human-body-organ-diag-2</li>
    <li dir="3.png">Human-body-organ-diag-3</li>
    <li dir="2.png">Human-body-organ-diag-4</li>
    <li dir="1.png">Human-body-organ-diag-5</li>
    </ul>
    </div>
    </div>
    <div class="man">
    <div id="image">
    <img src="2.png" width="348" height="375"></div>
    </div>
    <div id="thumbs">
    <div class="sanr" >
    <ul>
    <li dir="5.png">Human-body-organ-diag-6</li>
    <li dir="4.png">Human-body-organ-diag-7</li>
    <li dir="3.png">Human-body-organ-diag-8</li>
    <li dir="2.png">Human-body-organ-diag-9</li>
    <li dir="1.png">Human-body-organ-diag-10</li>
    </ul>
    </div>
    </div>
    </div>
<style>
body{ font-family:Tahoma, Geneva, sans-serif; color:#ccc; font-size:11px; margin:0; padding:0; background-color:#111111}
.sandiv{ width:980px;height:570px;margin:0 auto;margin-top:20px; padding:10px; background-color:#000;-webkit-box-shadow: 0 1px 2px #666;box-shadow: 0 1px 2px #666;}
#image{width:348px; height:375px; border-radius:100%;margin:0 auto; margin-top:50px; margin-bottom:20px;}
#thumb{width:400px;margin:0 auto; display:none;}
ul{list-style:none; padding:0; margin:0;}
 li{ width:auto ; height:50px; border-radius:100%; margin:5px; cursor:pointer; }
.sanl
{
 margin-top:50px;
 float:left;
 width:210px;
 margin-left:30px;
 margin-right:30px;
  }
.sanr
{
    margin-top:50px;
 float:left;
 width:210px;
 margin-left:60px;
 margin-right:30px;
}
.man
{
 float:left;
 width:350px;
 margin-left:30px;
 margin-right:30px; 
}
</style>
 $('div#imageContainer').click(function () {
      $('div#imageContainerimg').attr('src', 'YOUR NEW IMAGE URL HERE'); 
});