gpt4 book ai didi

javascript - 使用 JavaScript 交换两个图像的位置

转载 作者:行者123 更新时间:2023-11-28 19:15:40 24 4
gpt4 key购买 nike

所以我试图做到这一点,如果您单击按钮,它将切换图像位置。然而,它实际上并没有切换位置,而只是更改每个图像 ID 的 src。当您单击按钮一次时它会起作用,但之后图像不再切换。这是我的代码

function swapImages(){
var image1 = document.getElementById("image1")
var image2 = document.getElementById("image2")
if (image1.src = '/jmurphy9/111/images/earthrise.jpg') {
image1.src = '/jmurphy9/111/images/earth.jpg';
} else {
image1.src = '/jmurphy9/111/images/earthrise.jpg';
}
if (image2.src = '/jmurphy9/111/images/earth.jpg') {
image2.src = '/jmurphy9/111/images/earthrise.jpg';
} else {
image2.src = '/jmurphy9/111/images/earth.jpg';
}
}

function init(){
var button1 = document.getElementById("btn1")
button1.onclick = swapImages;
}

window.onload = init;

最佳答案

问题是src属性将具有图像的绝对路径,而不是您正在检查的相对路径

一种可能的解决方案是使用 .indexOf() ,如下所示

function swapImages() {
var image1 = document.getElementById("image1")
var image2 = document.getElementById("image2")
if (image1.src.indexOf('/jmurphy9/111/images/earthrise.jpg')>-1) {
image1.src = '/jmurphy9/111/images/earth.jpg';
} else {
image1.src = '/jmurphy9/111/images/earthrise.jpg';
}
if (image2.src.indexOf( '/jmurphy9/111/images/earth.jpg')>-1) {
image2.src = '/jmurphy9/111/images/earthrise.jpg';
} else {
image2.src = '/jmurphy9/111/images/earth.jpg';
}
}
<小时/>

或者您可以使用.getAttribute()

if (image1.getAttribute('src') == '/jmurphy9/111/images/earthrise.jpg') {
}
<小时/>

但是既然你想交换,你就可以这样做

function swapImages() {
var image1 = document.getElementById("image1")
var image2 = document.getElementById("image2")
var src = image1.src;
image1.src = image2.src;
image2.src = src;
}

演示:Fiddle

<小时/>

注意:在您的 if 中条件您使用赋值( = )运算符而不是比较运算符( == ),所以 image1.src = '/jmurphy9/111/images/earthrise.jpg'if应该是image1.src == '/jmurphy9/111/images/earthrise.jpg'

关于javascript - 使用 JavaScript 交换两个图像的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29909512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com