我遇到了jQuery的问题。
我在$(document).ready(function() {...})
$("#one_div").hide();
$('#button').click(function(){
if (this.src == 'img/img1.png'){
this.src = 'img/img2.png';
}
else {
this.src = 'img/img1.png';
}
$("#one_div").slideToggle(800);
});
#button
是图片的ID。 one_div
是div的ID。
实际上,点击图片切换div,但问题是图片只交换一次,从img1
到img2
,并且从不切换回来。我做了什么我做错了?
答案 0 :(得分:5)
您忘记了第二个=
(this.src == 'img/img1.png'){
答案 1 :(得分:0)
将代码置于$(window).load(function() { ... });
内,以确保在切换图像之前加载图像。
$(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);
});
});
答案 2 :(得分:0)
为什么不用类切换图像? 代码未经测试,但它应该是这样的:
$("#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);
});
答案 3 :(得分:0)
试试这个:
$('#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