2011-10-18 18 views
5

Dinamik olarak oluşturulmuş bir çağrı gezgini ile JQuery Döngüsü kullanıyorum. Image title özniteliğinden window.location.hash kullanarak belirli bir slayda nasıl bağlanılacağını anlamaya çalışıyorum. Bu örnek kullanılarak eklentinin bu noktaya kadar nasıl değiştirileceğini anladım (http://jquery.malsup.com/cycle/perma2.html#home), ancak bağlantı kurulmuyor. Sadece ilk slayda geri gönderir.Resim Başlık Özniteliğinden JQuery Döngü Karma URL'si

Bu stackoverflow destek iş parçacığını (http://stackoverflow.com/questions/4969752/display-anchor-instead-of-index-in-url-with-jquery-cycle) başvuruyordum, ancak var olanı kullanıyorlar Çağrı cihazı navigasyonu, anında üretilen değil. Jquery'yi öğrenmeye hala yeni geldim, bu yüzden herhangi bir rehberlik takdir ediliyor!

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

cevap

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

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

Sen img-DOM zaten olmalıdır:

İşte jQuery komut dosyasıdır. Tekrar "bulmaya" gerek yok.

+0

Teşekkürler! Bu kadar basit bir düzeltme oldu! – hootnanny