2009-12-14 30 views
5

Tôi đã xem một vài chủ đề ở đây nói về nhấp nháy trong Firefox, nhưng không có phần nào mô tả đầy đủ vấn đề tôi đang gặp phải.Firefox jquery scrollTo lỗi nhấp nháy

Tôi có trang web cuộn ngang, menu vị trí cố định và plugin jquery .scrollĐể xử lý các nút tiếp theo và trước đó. Điều này làm việc tuyệt vời trong Chrome và Safari (không biết về IE), nhưng trong Firefox có một nhấp nháy mỗi khi bạn di chuyển sang phải của trái với các mũi tên ở góc trên bên phải.

See An Example Here

Tôi đã cố gắng thiết lập tất cả các yếu tố đó có một vị trí cố định để tràn: tự động nhưng điều đó đã không làm gì. Tôi không phải siêu quen thuộc với JS hay Jquery nhưng tôi biết đủ để thay đổi mọi thứ. Mọi sự trợ giúp sẽ rất được trân trọng!

+0

Không có nhấp nháy cho tôi: Mac OS X (10.6.2), Firefox 3.3.5 – Paul

Trả lời

11

Sự cố là bạn không hủy tác vụ trình duyệt mặc định trong chức năng nhấp của mình. Thay đổi mã của bạn để này, và nhấp nháy sẽ biến mất:

$(function(){ 
    $(".next").click(function(e) { 
     $.scrollTo('+=1000px', 600); 
     e.preventDefault(); 
    }); 
    $(".prev").click(function(e) { 
     $.scrollTo('-=1000px', 600); 
     e.preventDefault(); 
    }); 
}); 

Firefox đang cố gắng để "di chuyển đến #" và animate cùng một lúc.

+1

Cảm ơn bạn! Điều đó đã làm điều đó. Tôi thực sự cần phải có chỉ yêu cầu thay vì trolling interwebs cho mười giờ trong tuần này. ;). –

+0

Rất vui được trợ giúp! Hãy chắc chắn kiểm tra dấu kiểm màu xanh bên cạnh câu trả lời này để nó được đánh dấu là "đã giải quyết". Và chào mừng bạn đến với StackOverflow! Hy vọng được gặp bạn nhiều hơn nữa! –

+0

+1 bạn cho rằng hiện tượng nhấp nháy này đã được giải quyết ngay bây giờ .. chưa: ( – cp3

1

Ngay sau khi nhận xét của tôi về khả năng đánh dấu trang trên bài đăng của Doug, ánh sáng trong đầu tôi bật lên! Hy vọng bạn có thể thích ứng với kịch bản của bạn, nếu bạn cần bookmarkability

<a href="#gohere" class="mylink">Click</a> 
... 

$('.mylink').click(function(e) { 
    e.preventDefault(); 
    var anchor = $(this).attr('href'); 
    $.scrollTo(anchor, 1000, { 
     onAfter: function(){ 
      location.hash = anchor; 
     } 
    }); 
}); 
Các vấn đề liên quan