Javascript jQuery-image-swap-if-else语句不工作
我对jQuery有一个问题 我在Javascript jQuery-image-swap-if-else语句不工作,javascript,jquery,html,function,if-statement,Javascript,Jquery,Html,Function,If Statement,我对jQuery有一个问题 我在$(document.ready(function(){…}) #按钮是图像的IDone_div是div的ID 实际上,单击图像会切换div,但问题是图像仅交换一次,从img1到img2,并且从未切换回。我做错了什么?你忘了第二个= (this.src == 'img/img1.png'){ 将代码放在$(窗口)中以确保在切换图像之前加载图像 $(document).ready(function() { $("#one_div").hide(); })
$(document.ready(function(){…})
#按钮
是图像的IDone_div
是div的ID
实际上,单击图像会切换div,但问题是图像仅交换一次,从
img1
到img2
,并且从未切换回。我做错了什么?你忘了第二个=
(this.src == 'img/img1.png'){
将代码放在
$(窗口)中代码>以确保在切换图像之前加载图像
$(document).ready(function() {
$("#one_div").hide();
});
$(window).load(function() {
$('#button').click(function(){
if ($(this).attr('src') == 'img/img1.png'){
$(this).attr('src', 'img/img2.png');
}
else {
$(this).attr('src', 'img/img1.png');
}
$("#one_div").slideToggle(800);
});
});
为什么不使用类切换图像?
代码未经测试,但应该是这样的:
$("#one_div").hide();
$('#button').click(function(){
this.toggleClass('active');
if (this.hasClass('active')){
this.src = 'img/img2.png';
} else {
this.src = 'img/img1.png';
}
$("#one_div").slideToggle(800);
});
试试这个:
$('#button').click(function(){
var el = document.getElementById('button');
if (el.src == 'img/img1.png'){
el.src = 'img/img2.png';
}
else {
el.src = 'img/img1.png';
}
$("#one_div").slideToggle(800);
});
我认为这返回了一个JQUERY对象,而不是您可以使用.src
this.src='img/img1.png'
进行初始化的DOM对象。你需要this.src==“img/img1.png”
在if
conditionOW中,这就是brudal。因为我是在飞行中编写代码的,所以我忘记了它,实际上代码是==(也尝试了==)。也许我必须预加载图像?运行console.log(this.src)
并验证src是否与您认为的一样。不起作用。这是完整的代码:/n$(window).load(function(){//function以隐藏div$(“#iddiv”).hide();$('#idimage')。单击(function(){if(this.src=='img/a.png'){this.src='img/b.png'}否则{this.src='img/a.png'}$(“#iddiv”).slideToggle(800)});使用$(this.attr('src','img/img2.png')
而不是this.src
用完整的代码更新了答案。尽管您可能会将click事件放在$(document).ready(function(){…})中代码>同时调用。谢谢,就像一个咒语:$(this).attr()。你知道为什么吗?是的,this.src
是javascript,$(this.attr('src')
是jQuery,这就是你选择点击的实际元素的方式。Javascript不知道这是什么。通常会这样,但由于您使用的是jQuery,并且需要选择实际的元素,因此需要使用$(this)
$('#button').click(function(){
var el = document.getElementById('button');
if (el.src == 'img/img1.png'){
el.src = 'img/img2.png';
}
else {
el.src = 'img/img1.png';
}
$("#one_div").slideToggle(800);
});