2011-10-18 24 views
5

Tôi đang sử dụng JQuery Cycle với điều hướng máy nhắn tin được tạo động. Tôi đang cố gắng tìm ra cách liên kết đến một slide cụ thể bằng cách sử dụng window.location.hash từ thuộc tính title image. Tôi đã tìm ra cách sửa đổi plugin cho đến thời điểm này bằng cách sử dụng ví dụ này (http://jquery.malsup.com/cycle/perma2.html#home), nhưng nó không liên kết. Nó chỉ gửi bạn trở lại trang chiếu đầu tiên.Jquery Cycle Hash URL từ Image Title Attribute

Tôi đã tham chiếu luồng hỗ trợ luồng ngăn xếp này (http://stackoverflow.com/questions/4969752/display-anchor-instead-of-index-in-url-with-jquery-cycle), nhưng chúng đang sử dụng điều hướng máy nhắn tin, không phải điều hướng được tạo khi đang di chuyển. Tôi vẫn còn mới học Jquery, vì vậy mọi hướng dẫn đều được đánh giá cao!

Đây là kịch bản 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; 
    } 
}); 
}); 

Trả lời

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

nên

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

Bạn đang đã có trên img-DOM. Không cần phải "tìm" nó một lần nữa.

+0

Cảm ơn! Đó là một sửa chữa đơn giản như vậy! – hootnanny