現在、iOSの連絡先アプリに似たアプリケーションを作成しています。スタイルなどは現在重要ではありませんが、私は機能を動作させたいと思います。jQueryの衝突要素を検出する
私は私が達成しようとしているかを示すためにjsFiddle(http://jsfiddle.net/hpQVy/)を設定している、とここでのコードがあります:
HTML:
<ul class="divided">
<li class="divider">A</li>
<li>Andrew Acheson</li>
<li>Luke Ayre</li>
<li>Luke Ayre</li>
<li>Luke Ayre</li>
<li>Luke Ayre</li>
<li>Luke Ayre</li>
<li>Luke Ayre</li>
<li>Luke Ayre</li>
<li>Luke Ayre</li>
<li>Luke Ayre</li>
<li class="divider">B</li>
<li class="divider">C</li>
<li>Charlie Sheen</li>
<li>Charlie Sheen</li>
<li>Charlie Sheen</li>
<li>Charlie Sheen</li>
<li>Charlie Sheen</li>
<li>Charlie Sheen</li>
<li>Charlie Sheen</li>
<li>Charlie Sheen</li>
<li>Charlie Sheen</li>
</ul>
はJavaScript:
$(function() {
// First off, dock the first one:
$('ul.divided li.divider').eq(0).css({ position: 'fixed' });
$(window).scroll(function() {
//
});
});
CSS:
body {
padding: 0;
margin: 0;
}
ul {
list-style: none;
padding: 0;
margin: 0;
font-family: Arial;
}
ul li {
padding: 10px;
border-bottom: 1px solid #000;
width: 100%;
box-sizing: border-box;
}
ul li.divider {
font-weight: bold;
padding: 2px 10px;
background-color: #aaa;
color: #fff;
text-shadow: 0 1px 0 #000;
opacity: 0.7;
}
私がしたいのは、リストディバイダの「ドッキング」をシミュレートすることです。私の思考の訓練は、どんな仕切りがドッキングされているものと衝突するかを検出し、それに応じてアニメーションしてドッキングさせることです。私が思う私の質問は、リストの分周器(li.divider
)はposition: fixed
ありli.divider
と衝突したときを検出するための最良の方法は何かということです。私はトップとボトムの両方から衝突を検出する必要があります(それが理にかなっていれば)。
誰もがli
要素が衝突する可能性があるときを検出する方法をお勧めしますか?
うわー、そうです。それは素晴らしいです!ありがとうございました。 – BenM