2011-12-19 10 views
1

divの外側にあるテキストリンクをクリックしたときに、親div内のビューに子divスライドを作成しようとしています。JQueryを使用してページの外部にdivをターゲットにする

基本的には、検索ページの詳細検索条件セクションに使用されるため、ユーザーがページに入ると、デフォルトでは、最初にユーザーがクリックするまでビットを非表示にしますそれをトグルして見えるようにするテキストリンク。 (高度な検索条件は、水平スライドにリンクされたようなものです)

ここでは、ユーザーが入力したときに非表示になっているのではなく、同じページにテキストリンクを外部に配置することもできません。

CSS

<style type="text/css"> 
.slide { 
position: relative; 
overflow: hidden 
} 

.slide .inner { 
bottom: 0; 
width: 220px; 
} 

</style> 

私はどこにでも再配置するように見えるカント親divの中に恐ろしいリンクテキスト:

<div id="slidebottom" class="slide"> 
<a href="#" class="toggle">Slide it</a> 
<div class="inner"> 

のjQuery:

<script> 
$(document).ready(function() { 
    $('.toggle').click(function() { 
     var $marginLefty = $(this).next(); 
     $marginLefty.animate({ 
      marginLeft: parseInt($marginLefty.css('marginLeft'), 10) == 0 ? 
       $marginLefty.outerWidth() : 0 
     }); 
    }); 
}); 
</script> 

答えて

1

私は簡単な例を作りましたあなたのため:

http://jsfiddle.net/WJ7Zp/

$('.toggle').click(function() { 
    $(this).next().animate({width: 'toggle'}); 
}); 
+0

予想通り、最初はdiv要素を隠しているようです。唯一のことは、右の代わりに左からスライドし、テキストリンクを何らかの理由で親divの外で使用することができないことです。リンクを表示するためにjsfiddleを更新しました。親のdivの外にある場合http://jsfiddle.net/WJ7Zp/1/ – user1105219

+0

リンクを別の場所に配置する必要がある場合は、.innerにidを与え、$( "#id")を使用してください。アニメーション(....これは非常に初歩的なもので、jquery.com – Vigrond

+0

で完全に文書化されています。折り畳まれた状態からもう一度切り替えて展開しようとすると、divはページの他のdivの背後に表示されます – user1105219