0

ボタンをクリックすると画像の不透明度が変わり、ボタンをもう一度クリックすると元に戻る必要があります。Javascriptしか使えません。2 つの if/else ステートメントを設定しました。最初にボタンをクリックすると、イベントが発生しますが、2 番目のイベントが発生しません。私はjavascriptが初めてです。

var img = document.querySelector('#img');
var button1 = document.querySelector('#button1');
var bool = new Boolean();


if (chrome.style.opacity = "1.0"){
    bool = true;
    }
else if (chrome.style.opacity = "0.5"){
    bool = false;
    }

if (bool){
    button1.addEventListener('click', function() {
    chrome.style.opacity = "0.5";
    });
    }
else{
    button1.addEventListener('click', function() {
    chrome.style.opacity = "1.0";
    });
}
4

3 に答える 3

0

これを試して

html

<button id="button1">hi</button>

CSS

button {
    opacity: 0.5;
}

js

button1.addEventListener('click', function() {   
    this.style.opacity = (this.style.opacity == 1.0) ? 0.5 : 1.0;            
});

私はあなたのjsが実際にこれになると思います..それを適応させるだけです

button1.addEventListener('click', function() {   
    chrome.style.opacity = (chrome.style.opacity == 1.0) ? 0.5 : 1.0;            
});

http://jsfiddle.net/Q4C6g/

于 2013-10-31T02:37:31.667 に答える
0

ワンクリック イベントを使用し、if/else ステートメントをその中に入れます。

button1.addEventListener('click', function() {
     if (chrome.style.opacity = "1.0"){
          chrome.style.opacity = "0.5" 
    }else{
          chrome.style.opacity = "1.0"
    }
 });
于 2013-10-31T02:34:05.357 に答える
0

コードへのコメント:

> var bool = new Boolean();

あなたは本当にそれをしたくありません。ブール オブジェクトは、ブール プリミティブをサポートするために存在し、単独で使用するためのものではありません。また、必要になるまで値を割り当てないでください。変数を一時的な値に初期化するのは無意味です。変数を「型付け」するわけではありません。

ECMAScript 変数には型がありませんが、値には型があります。したがって、後で行う場合:

> bool = true;

boolは以前に割り当てられたオブジェクトを参照しなくなり、値が になりtrueました。

とにかくここではboolの使用を完全に避けることができます。他の回答を参照してください。

ああ、なぜ Boolean オブジェクトを避けるべきなのか:

// Create a Boolean object with a value of false
var foo = new Boolean(false); 

// Evaluate in expression that will call internal getValue method
alert( foo );  // false

// Evaluate in expression that will do Type conversion
alert( !foo ); // false

おっと!念のために:

alert( foo == !foo  ); // true!!
alert( foo == !!foo ); // false

したがって、ブールオブジェクトには近づかないでください! この振る舞いを有利に利用したとしても、可読性と保守性が損なわれます。

于 2013-10-31T03:02:52.807 に答える