2013-02-15 139 views
2

我正在一個網站工作,現在卡在jQuery同位素,我需要一些幫助在這裏,請 我使用jquery同位素來過濾div,但不知何故它不工作jQuery同位素過濾不工作

我的HTML:

<center><a href="" class="filter" rel="all">show all</a> | <a href="" class="filter" rel="green">green</a> | <a href="" class="filter" rel="blue">blue</a> | <a href="" class="filter" rel="pink">pink</a></center> 
<br> 
<div class="wrap"> 
    <div class="box green"></div> 
    <div class="box blue"></div> 
    <div class="box pink"></div> 
    <div class="box blue"></div> 
    <div class="box pink"></div> 
    <div class="box green"></div> 
    <div class="box pink"></div> 
    <div class="box green"></div> 
    <div class="box blue"></div> 

    <div class="clear"></div> 
</div> 

我的CSS:

.wrap{ 
    margin: auto; 
    width: 660px; 
    background: #ccc; 
} 
.clear{ 
    clear: both; 
} 
.box{ 
    float: left; 
    width: 200px; 
    height: 200px; 
    margin: 10px 10px; 
} 
.green{ 
    background: green; 
} 
.blue{ 
    background: blue; 
} 
.pink{ 
    background: pink; 
} 

我的javascript:

$(document).ready(function() { 
    $('.wrap').isotope({ 
     itemSelector: '.box' 
    }); 

    $('a.filter').click(function() { 
     var to_filter = $(this).attr('rel'); 
     if(to_filter == 'all') { 
      $('.box').fadeIn(); 
     } else { 
      $('.box').each(function() { 
       if($(this).hasClass(to_filter)) { 
        $(this).fadeIn(); 
       } else { 
        $(this).fadeOut(); 
       } 
      }); 
     } 
     return false; 
    }); 
}); 

,或者你可以查看此鏈接:http://jsfiddle.net/wPdXF/

我確切的問題: 後我點擊過濾器鏈接時,div的不洗牌/動畫

誰能幫助我嗎?

對不起,您正在運行到(在那裏「過濾器」的項目,但不重新定位,或動畫重新定位),我的英語不好

+0

在你的jsfiddle它按預期工作 – reinder 2013-02-15 09:22:06

+0

@reinder?不,絕對不...... .......謝謝你的回答:D – user2074851 2013-02-15 09:22:47

+0

然後你需要更好地解釋這個問題。如果我打開你的jsfiddle,然後按「綠色」,它只顯示我的綠色框。所有其他顏色相同,「全部顯示」顯示所有框。你期望它做什麼? – reinder 2013-02-15 09:28:08

回答

2

的問題是,因爲你使用jQuery的內置隱藏/顯示,而不是同位素的內置過濾機制。

$(document).ready(function() { 
$('.wrap').isotope(); 

$('a.filter').click(function() { 
    var to_filter = $(this).attr('rel'); 
    if(to_filter == 'all') { 
     $('.wrap').isotope({filter: '.box'}); 
    } else { 
     $('.wrap').isotope({filter: '.'+to_filter}); 
    } 

}); 
}); 

工作小提琴:http://jsfiddle.net/yDPxK/1/

你需要做的是提供同位素與過濾器(你是從你的rel屬性匹配使用jQuery的默認淡入類名稱/淡出只會改變自己顯示屬性值,不會改變其在DOM位置

過濾文件:http://isotope.metafizzy.co/docs/filtering.html

+0

我已經使用過濾選項,但它沒有運氣......仍然沒有動畫/洗牌 – user2074851 2013-02-15 09:45:43

+0

好吧,我叉你的提琴,看看我能得到它的工作。您是否使用其中一種自定義佈局模式?砌體或居中是最受歡迎的。 – 2013-02-15 09:46:44

+0

沒有,我沒有使用任何佈局模式....感謝您的幫助:d – user2074851 2013-02-15 09:48:54