2011-12-11 4 views
0

私に画像リンクがあります。ユーザーが画像の上を移動すると、上部に情報パネルが表示され、その下に画像が表示されます。問題は、情報パネルが画像リンクをカバーしているため、画像リンクをクリックできないことです。他の要素の下にクリックするとリンクが切れます

私の質問:画像リンクをクリック可能にするにはどうすればよいですか(または、効果は同じですが画像全体をクリックできるようにコードを変更するにはどうすればよいですか)。

更新:jQueryをクリックできない通常のリンクが必要です。私の理由から私のコメントを見てください。

ワーキングHTMLとデモ、jQueryとCSS

http://jsbin.com/ufecob/2/edit#html,live

HTML

<figure class="item"> 
    <a href="http://google.com/" title="Thumb"><img src="http://f.cl.ly/items/2u2i3K1H1d1D02072T3Q/soc-google.png" /></a> 
    <figcaption class="name visuals"><h1>Title</h1><p>Description</p></figcaption> 
</figure> 

jQueryの

$(document).ready(function(){ 
    $('.item').hover(function(){ 
     $(this).children('.name').stop().fadeTo(100, .5); 
    },function(){ 
     $(this).children('.name').stop().fadeTo(900, 0); 
    }); 
}); 

カーソルのポインタを作るために、その後、いくつかのjQueryをオーバーレイにクリックハンドラを追加するためにCSSを追加する方法について

#items { 
     padding:0px; 
     display:block; 
    } 
#items .item { 
     display:block; 
     position:relative; 
     float:left; 
     width:200px; 
     max-width:200px; 
    } 
#items .item a { 
     display:block; 
     text-decoration:none; 
     position:relative; 
    } 
#items .name a:hover { 
     color: #000; 
    } 
#items .item .name { 
     display: none; 
     background-color: #000; 
     color: #fff; 
     position: absolute; 
     left: 0px; top: 0px; 
     margin: 0px; 
     width: 100%; height: 100%; 
    } 

答えて

0

どのようにCSS:

CSS--

.name { 
    cursor : pointer; 
} 

JS -

$('.name').on('click', function() { 

    //this will find the link that is the overlay's sibling, find its href attribute, and forward the user to that URL 
    window.location = $(this).parent().children('a').attr('href'); 
}); 

ここにjsbinの最新バージョンがあります:http://jsbin.com/ufecob/3/edit

.on()は、jQuery 1.7で新しく、この場合は.bind()と同じです。ここで

<a href="http://google.com/" title="Thumb"> 
    <figure class="item"> 
     <img src="http://f.cl.ly/items/2u2i3K1H1d1D02072T3Q/soc-google.png" /> 
     <figcaption class="name visuals"><h1>Title</h1><p>Description</p></figcaption> 
    </figure> 
</a> 

はデモです::http://jsbin.com/ufecob/4/edit#html,live

+0

私が持っている必要がありますリンクはfigureタグの親であるように、あなたのHTMLの構造を変えることについてどのように

UPDATE

あなたが提案したようにすでに動作していると言いましたが、jQueryを使用するのではなく、通常のhrefリンクを使用しています。それは可能ですか?助けてくれてありがとう:) – robflate

+0

通常のリンクを使いたい理由を明確にしています。私は、リンクのためにjavascriptを使ってウェブブラウザーが動作する基本的な方法を破るのが好きではありません。 javascriptを使用すると、コントロールをクリックしてリンクをクリックして新しいタブで開くことはできません。リンク上をホバーすると、URLはステータスバーに表示されません。右クリックしても、リンクの通常のコンテキスト依存メニューは表示されません。これらの問題が発生しないように私の問題を回避する方法があることを願っています。 – robflate

+0

@robflateリンクが 'figure'タグの親であるようにHTMLの構造を変更する方法:http://jsbin.com/ufecob/4/edit#html,live – Jasper

関連する問題