小さな関数(実際には2)を書きました。 最初に、ul> liはカスタムドロップダウン+フィルタのように同時にリストします。'ul> li'のようなドロップダウン+クラスによるフィルタリング
それは何:私はもし他の条件で「すべて」のオプションを追加したまで
- when selected an 'li'
- copy span from inside of it to - > 'a href' (top of the dropdown)
- get class of the span inside 'a href' - which we just copied
- hide all div's which does not have selected class (div's and span's have same classes)
、すべてがうまく働きました。
クロームJSコンソールは未定義で、選択したクラスは、最後のステップ私が間違ってやっている何
$('.content div').not('.' + CheckWhichClassSelected).hide();
ときと言っていますか?
jsfiddle:http://jsfiddle.net/MrTest/hLcML/
HTML
<div class="filter">
<a class="dropDownSelect" href="#"> -- select -- </a>
<ul class="dropDownList">
<li><span class="filter0">All</span></li>
<li><span class="filter1">Filter 1</span></li>
<li><span class="filter2">Filter 2</span></li>
<li><span class="filter3">Filter 3</span></li>
<li><span class="filter4">Filter 4</span></li>
</ul>
</div>
<div class="tab-menu">
</div>
<div class="content">
<div class="filter1">1</div>
<div class="filter2">2</div>
<div class="filter3">3</div>
<div class="filter4">4</div>
<div class="filter1">1</div>
<div class="filter2">2</div>
<div class="filter3">3</div>
<div class="filter4">4</div>
</div>
JS:
/*! OnLoad
---------------------------------------------*/
$(document).ready(function() {
$('.dropDownSelect').click(function(event) {
$(this).next().slideToggle(100);
});
$('.dropDownList li').click(function(event) {
$(this).parent().slideUp(100);
$('.dropDownSelect').empty();
$(this).children().clone().appendTo('.dropDownSelect');
// ShowSelectedClass
var CheckWhichClassSelected = $('.dropDownSelect').children().attr('class');
alert(CheckWhichClassSelected);
$('.content div').show();
if (CheckWhichClassSelected === filter0) {
return false;
}
else {
$('.content div').not('.' + CheckWhichClassSelected).hide();
}
});
});
すべてのヘルプははるかに高く評価。
if (CheckWhichClassSelected === filter0) {
それは次のようになります:私はあなたがここ2つの頂点を逃したと思います
ピート
感謝を!最小のエラーは常に見つけにくい! – Iladarsda