2016-07-19 19 views
0

IDに基づいて特定の画像が表示されたときに画像を削除(非表示)する方法。これは私がこれまでに得たものである:Javascript画像を表示/非表示

function setImageinVisible(id) { 
    var img = document.getElementById(id); 
    img.style.visibility = 'visible'; 
} 

答えて

0

まず、良い練習は、あなたが直接オブジェクトのスタイルを台無しいけない、と言うのではなく、それは(あるためhttps://en.wikipedia.org/wiki/Separation_of_concernsの)クラスだ切り替えます。私のアドバイスは

.is-hidden { 
    display: none; 
} 

のような状態のクラスを作成してからちょうど元のために、jqueryの、純粋なJSまたは何か他のもので、特定の要素にこのクラスを切り替えることです。

document.querySelector('.my-image').classList.add('is-hidden') 
document.querySelector('.my-image').classList.remove('is-hidden') 

UPDATE:

が1つを表示する前に、以前の状態をリセットし(非表示としてすべての画像を設定)する:

// to add.is-hidden from every image (to hide all the images) 
[].map.call(document.querySelectorAll('img'), function(el) { 
    el.classList.add('is-hidden'); 
}); 
// to show choosen image 
document.querySelector('.my-image').removeClass('is-hidden') 
+0

私はjqueryを使用しません。どのようにJavaScriptで表示されますか? ^^ – Emloy

+0

ここでは、純粋なJSで更新しました –

+0

マップエリアに基づいて画像が表示されているときにすべての画像を非表示にすることはできますか?したがって、ある領域をクリックすると、関連する画像のみが表示されます。これは完全なコードです - > https://jsfiddle.net/kc1sf8qL/ – Emloy

-1

注純粋なJSと

$('.my-image').addClass('is-hidden') // to hide 
$('.my-image').removeClass('is-hidden') // to show 

toggle-vader-button,("#Vader")、および("#Palpatine")は私が取り組んでいるプロジェクトに基づいています。あなたの写真のIDを

の代わりに
$ (document).ready(function() { 
    $("#toggle-vader-button").on("click", function() { 
     $("#Vader").toggle(); 
     $("#Palpatine").toggle(); 
    }); 
}); 

もう1つはトグルします。また、私はCSSで "none"としてPalpatineのディスプレイを持っているので、Vaderがオフになっている間はスイッチがオンになることに注意してください。どちらも同じスペースを占有します。