Tôi muốn điều hướng đến một div bên trong iframe bằng cách sử dụng jQuery.animate
từ liên kết bên ngoài khung nội tuyến. Đây là Bộ luật tôi sử dụng:Làm cách nào để áp dụng 'bù đắp' cho một phần tử bên trong khung nội tuyến?
function scrollToAnchorIframe(aid){
var aTag = window.frames['myFrame'].document.getElementById(aid);
$('html,body').animate({scrollTop: aTag.offset().top - 62},'slow');
}
Tuy nhiên, nó không hoạt động, đăng nhập lỗi "Object [object HTMLElement] has no method 'offset'
". Có cách nào để có được bù đắp của id để làm cho nó hoạt động?
Cập nhật (Giải Quyết): Đó là đoạn code tôi đang sử dụng hiện nay:
function scrollToAnchorIframe(aid){
var aTag = window.frames['myFrame'].document.getElementById(aid);
jQuery('html,body').animate({scrollTop: $(aTag).offset().top + $("#myFrame").offset().top - 62},'slow');
}
Bạn nhận được lỗi đó vì đối tượng không phải là đối tượng jQuery. Đó là một HTMLElement. Hãy thử '$ (aTag) .offset()' hoặc bọc 'window.frames ['myFrame']. Document.getElementById (viện trợ);' trong một '$()' – crush
Lưu ý rằng bạn không thể sử dụng chương trình X-Frame trừ khi bạn làm việc trên cùng một miền với cùng một giao thức. – ARMBouhali