2011-10-18 13 views
5

Sto usando JQuery Cycle con una navigazione cercapersone generata dinamicamente. Sto cercando di capire come collegare a una diapositiva specifica usando window.location.hash dall'attributo del titolo dell'immagine. Ho capito come modificare il plugin fino a questo punto usando questo esempio (http://jquery.malsup.com/cycle/perma2.html#home), ma non si collega. Ti rimanda alla prima diapositiva.URL Hash ciclo Jquery da attributo titolo immagine

Ho fatto riferimento a questo thread di supporto StackOverflow (http://stackoverflow.com/questions/4969752/display-anchor-instead-of-index-in-url-with-jquery-cycle), ma stanno utilizzando un esistente navigazione cercapersone, non quella che viene generata al volo. Sono ancora nuovo nell'apprendimento di Jquery, quindi ogni consiglio è apprezzato!

Ecco lo script Jquery:

$(function() { 
var h, 
    hash = window.location.hash, 
    hashes = {}, 
    index = 0; 

$('#slide img').each(function(i) { 
    h = $(this).find('img').attr('title'); 
    hashes[h] = i; 
}); 

if (hash) 
    index = hashes[hash.substring(1)] || index; 

$('#slide').cycle({ 
    fx:  'fade', 
    startingSlide: index, // <-- don't forget this! 
    speed: 'fast', 
    timeout: 0, 
    activePagerClass: 'active', 
    pager: '.timeline', 
    pagerAnchorBuilder: function(idx, slide) { 
     // return selector string for existing anchor 
     return '.timeline li:eq(' + idx + ') a'; 
    }, 
    after: function(curr,next,opts) { 
     h = $(this).find('img').attr('title'); 
     window.location.hash = h; 
    } 
}); 
}); 

risposta

3
$('#slide img').each(function(i) { 
    h = $(this).find('img').attr('title'); 
    hashes[h] = i; 
}); 

dovrebbe essere

$('#slide img').each(function(i) { 
    h = $(this).attr('title'); 
    hashes[h] = i; 
}); 

Siete già sul img-DOM. Non c'è bisogno di "trovarlo" di nuovo.

+0

Grazie! E 'stata una soluzione così semplice! – hootnanny