2016-11-09 35 views
1

ラジオボタンをクリックすると、アンカーをURLから削除するか、要素の「ターゲットを絞る」必要があります。ラジオボタンを確認した後、アンカーをURLから削除するにはどうすればよいですか?

最初のページからリンクをクリックしたときのコードです。2番目のページ(たとえばフォントの色を変更する)の特定の要素を制御したいのですが、苦労している問題は "私はラジオボタンリストからsth elseを選択し、同時に2つのリンクを強調表示した後にcssを使用してそれを「untarget」します。

最初のページ:

<a href="oferta.html">OFERTA</a> 

<ul> 
    <li><a href="oferta.html#webdesign">webdesign</a></li> 
    <li><a href="oferta.html#grafika">grafika</a></li> 
    <li><a href="oferta.html#kampania">kampania</a></li> 
</ul> 

2ページ目:

<style type="text/css"> 
    *{ 
    clear: both; 
    } 
    label:target{ 
    color: red; 
    } 
    #webdesign:target ~ #wd, #grafika:target ~ #gr, #kampania:target ~ #kp{ 
    visibility: visible; 
    z-index: 10; 
    } 
    input[type=radio]:checked + #webdesign, input[type=radio]:checked + #grafika, input[type=radio]:checked + #kampania{ 
    color: red; 
    } 
    input[type=radio]:checked + #webdesign ~ #wd, input[type=radio]:checked + #grafika ~ #gr, input[type=radio]:checked + #kampania ~ #kp{ 
    visibility: visible; 
    z-index: 100; 
    } 
    #wd, #gr, #kp{ 
    width: 500px; 
    height: 100px; 
    visibility: hidden; 
    position: absolute; 
    z-index: 0; 
    } 
    #wd{ 
    background: red; 
    } 
    #gr{ 
    background: green; 
    } 
    #kp{ 
    background: blue; 
    } 
</style> 

<a href="home.html">HOME</a> 


<input type="radio" id="webdesign1" name="labels"> 
<label for="webdesign1" id="webdesign">webdesign</label> 

<input type="radio" id="grafika1" name="labels"> 
<label for="grafika1" id="grafika">grafika</label> 

<input type="radio" id="kampania1" name="labels"> 
<label for="kampania1" id="kampania">kampania</label> 


<div id="wd"></div> 
<div id="gr"></div> 
<div id="kp"></div> 
+0

私は理解していない:あなたはjQueryのを使用していると仮定すると、

。それは正常に動作するようです:http://output.jsbin.com/wesotoh#webdesign –

+0

しかし、それは現在、(#webdesign)のターゲットとなっている別のラジオボタンをクリックすると、2つのラベルが赤色になっていることに注意してください。私は別のラジオボタンをクリックした後にターゲット属性を削除する必要があるので、1つだけ色付けする必要があります – withorlo

+0

"2つのラベルに赤い色があります。" - 2つのラベルが赤くなるのを見ることはできません。それぞれのラベルが赤だけであるラジオをクリックします。 –

答えて

1

それは簡単です。最初のchangeラジオのイベントを添付して、hashの部分をURLから削除します。

$('input:radio').one('change', function(){ 
    location.hash = ''; 
}); 

http://jsbin.com/wesotoh/edit?html,js

+0

素晴らしい!助けを大変感謝します;) – withorlo

+1

私の喜び:)幸運.. –

関連する問題