2012-05-12 20 views
5

sto lavorando su jQuery isotopi e il filtro funziona bene con il metodo indicato di seguito sulla stessa pagina portfolio.html:filtro isotopo per collegare da un'altra pagina

<li class="current"><a href="#" data-filter="*">all</a></li> 
<li><a href="#" data-filter=".design">design</a></li> 
<li><a href="#" data-filter=".coding">coding</a></li> 
<li><a href="#" data-filter=".logo">logo</a></li> 

quello che sto cercando di realizzare è di collegare a una categoria specifica in modo che i miei utenti possano venire da altre pagine alla categoria filtrata.

Ho provato il seguente metodo di collegamento, ma non ha funzionato:

<a href="portfolio.html#filter=logo" data-filter=".logo">logo</a> 

qualcuno può darmi una mano? esiste un metodo per pre-filtrare le categorie?

risposta

5

Dopo aver configurato l'isotopo, è necessario leggere la variabile querystring e quindi fare clic sul pulsante del filtro corrispondente.

jsFiddle Esempio: http://jsfiddle.net/Y6vWn/

var filterFromQuerystring = getParameterByName('filter'); 
$('a[data-filter=".' + filterFromQuerystring + '"]').click(); 
+0

Quindi per essere chiari si collega alla pagina in modo più simile: 'logo' - con una querystring, non un hash come nella domanda. – ArleyM

+0

non funziona per un href che hai menzionato @ArleyM – Sam

0

Bill-

ho provato il metodo e non riesco a farlo funzionare. Sono quelle due linee tutto ciò che è necessario?

Ecco il codice HTML del menu per il link alla mia pagina filtrata isotopo:

<li><a href="entertainment.html">Entertainment</a> 
    <ul> 
     <li><a href="entertainment.html#party">Party bands, Show and Tribute bands</a></li> 
     <li><a href="entertainment.html#classical">Classical, Jazz, and Easy Listening</a></li> 
     <li><a href="entertainment.html#djs">DJs, Emcees, Variety, and Interactive</a></li> 
    </ul> 
</li> 

Ecco il codice per i miei filtri (ID non vengono utilizzati qui):

<div id="filters"> 
<ul class="option-set" data-option-key="filter"> 
    <li><a id="f-all" href="#filter" class="selected" data-option-value="*">All</a></li> 
    <li><a id="f-party" href="#filter" data-option-value=".party">Party Bands</a></li> 
    <li><a id="f-classical" href="#filter" data-option-value=".classical">Classical, Jazz, and Easy Listening</a></li> 
    <li><a id="f-djs" href="#filter" data-option-value=".djs">DJs and Emcees</a></li> 
</ul> 

Ed ecco lo script che ho messo alla fine della pagina filtrata:

<script type="text/javascript"> 
$(document).ready(function() { 
    var pathname = window.location; 
    alert(pathname.toString()); //testing purposes 
    if(pathname.toString().indexOf("party") != -1){ 
     alert('shit went through 9'); //testing purposes 

     var filterFromQuerystring = 'party'; // getParameterByName('filter'); 
     $('a[data-option-value=".' + filterFromQuerystring + '"]').click(); 
    } 
}); 

Intendo che la pagina scelga un filtro diverso in base a ciò che viene dopo l'hashtag nell'URL. C'è un modo più intelligente per fare questo?

+0

Se inserisci il tuo codice in un [jsFiddle] (http://jsFiddle.net), lo farò funzionare per te. – Bill

Problemi correlati