URL хеша Jquery Cycle из атрибута заголовка изображения - PullRequest
5 голосов
/ 19 октября 2011

Я использую JQuery Cycle с динамически генерируемой навигацией на пейджер.Я пытаюсь выяснить, как сделать ссылку на определенный слайд, используя window.location.hash из атрибута заголовка изображения.Я выяснил, как модифицировать плагин до этого момента, используя этот пример (http://jquery.malsup.com/cycle/perma2.html#home),, но он не связывается. Он просто возвращает вас к первому слайду.

Я ссылался на этот поток поддержки stackoverflow (/3551247/pokazyvat-anchor-vmesto-indeksa-v-url-s-tsiklom-jquery), но они используют существующую пейджинговую навигацию, а не ту, которая генерируется на лету. Я все еще новичок в изучении Jquery, поэтому любые указания приветствуются!

Вот скрипт 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;
    }
});
});

1 Ответ

3 голосов
/ 20 октября 2011
$('#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;
});

Вы уже находитесь на img-DOM.Не нужно его "искать" снова.

...