0

だから私はしようとしました:1)ボタンをクリックしてDIV要素の背景色を切り替えます2)ボタンをクリックして画像ソースを変更します(トグルではありません)。

コードは私にとって非常に単純で、当然のことながら、問題はありませんが、何らかの理由で機能しません!! 助けてください...どんなアドバイスでも大歓迎です。

<!Doctype HTML>
<HTML>
<head>
<script>
function changeimage()
{    x = document.getElementById("image");
 x.src="e:\PHOTOS\garfield-coffee.jpg";
 x.alt="e:-\PHOTOS\garfield-coffee.jpg";   // the new image doesnt load, but if I specify an "alt", it seems to work.
}

function changeDivColor()
{  x = document.getElementById("main_container")
if(x.style.backgroundColor=="#3B7AF0")       // the if thens just dont work. Simply changing color one time does.
{  x.style.backgroundColor="#dfedf0";   }
else
{  x.style.backgroundColor=="#3B7AF0";  }
}

</script>
</head>
<body>
<div id="main_container" style="background-color:#3B7AF0;width:1800px;height:1800px;font-size:10pt">

<img id="image" src="e:\photos\garf2.jpg" width:40px height:40px></img>

<div id="Scriptarea">                          <!-- Javascript stuff -->
<form>
<input type="button" onclick="changeimage()" value="click here to change garfield"></input>
<input type="button" onclick="changeDivColor()" value="Change DIV color"></input>
</form>
</div>                                 <!-- Javascript stuff -->


</div>

</body>
4

3 に答える 3

0

使用している

if(x.style.backgroundColor=="#3B7AF0");

背景色が何であっても、これは false になります。

 element.style.backgroundColor 

要素 x を取得した後、

console.log(x.style.backgroundColor); // use this and see the consoleHEX 値と直接比較できないRGB 値 ( ) を返します。ここで変換テクニックを取得します

RGB値ではなく16進数の色値を取得するには?

于 2013-11-01T17:32:14.750 に答える
0

これを試して

var imgUrl = "https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcSL2CuC1sDp7s3Z0kL-0k1rcrgw8MpNJV7L4HPw-Ez9YOcqokjsyCZqBqbv";
var imgUrl2 = "https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcRtZsHc2xA0fazpA-zx79WaGWx_Enn0SV9DaaPc1N-jA5IxgSwF79W0g5_1";
function changeDivColor() {
    $("#main_container").css("background-color",'red');
}
function changeimage() {
  var img = $("#image"), url = imgUrl;
    if (img.attr("src") == imgUrl) {url = imgUrl2;}
    img.attr("src", url);
}
$("#changeimg").click(changeimage);
$("#colorbtn").click(changeDivColor);

jqueryを使用したJSフィドルサンプル

于 2013-11-01T17:37:19.503 に答える