2012-05-12 8 views
5

estoy trabajando en isótopos jQuery y el filtro funciona bien según el método descrito a continuación en la misma página portfolio.html:filtro de isótopos para enlazar desde otra página

<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> 

lo que estoy tratando de lograr es vincular a una categoría específica para que mis usuarios puedan pasar de otras páginas a la categoría filtrada.

probé el siguiente método de vinculación, pero no funcionó:

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

puede alguien ayudarme? ¿Hay algún método para prefiltrar las categorías?

Respuesta

5

Después de configurar el isótopo, debe leer la variable querystring y luego hacer clic en el botón de filtro que coincida.

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

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

Luego, para que quede claro, se vincula a la página más bien así: 'logo' - con una querystring, no es un hash como en la pregunta. – ArleyM

+0

no funciona para un href que mencionó @ArleyM – Sam

0

Facturación-

que intentó su método y parece que no puede hacer que funcione. ¿Son esas dos líneas todo lo que es necesario?

Aquí está el código HTML del menú para el enlace a mi página filtrada isótopos:

<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> 

Este es el código para mis filtros (IDs no se utilizan aquí):

<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> 

Y aquí está la secuencia de comandos que puse al final de la página filtrada:

<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(); 
    } 
}); 

Tengo la intención de que la página elija un filtro diferente en función de lo que viene después del hashtag en la URL. ¿Hay alguna manera más inteligente de hacer esto?

+0

Si coloca su código en [jsFiddle] (http://jsFiddle.net) lo pondré en funcionamiento. – Bill

Cuestiones relacionadas