2011-09-28 42 views
5

Tôi có trang web hỗ trợ wordpress nơi tôi muốn tạo một khối nổi bật. Khối nổi bật này sẽ có các bài viết nổi bật mờ dần từng cái một. Tôi nhận nó hoạt động bằng cách sử dụng các API fadeInfadeOut của jQuery, nhưng có một vấn đề với việc triển khai.jQuery fadeIn fadeOut làm cho trang cuộn

Đây là mã tôi có -

var count=0; 
var sticky_count=<?php echo count($sticky);?>; 

jQuery(document).ready(featured_block); 

function featured_block() { 
    jQuery(".featured" + count % sticky_count).delay(5000).fadeOut(callback); 
} 

function callback() { 
    count++; 
    jQuery(".featured" + count % sticky_count).fadeIn().delay(5000); 
    jQuery(".featured" + count % sticky_count).fadeOut(callback); 
} 

Các fadeIn - hiệu ứng fadeOut đang làm việc tốt cho đến khi người dùng điều hướng đến dưới cùng của trang. Khi người dùng ở cuối trang, toàn bộ trang cuộn lên khi chuyển đổi mờ dần xảy ra.

Bạn có thể thấy điều này trong hành động ở http://www.ronakg.com

Xin tư vấn làm thế nào tôi có thể tránh được cuộn trang.

EDIT: Đây là cách mã HTML trông giống như -

<div class="featured0"> 
    ... 
</div> 

<div class="featured1" style="display:none"> 
    ... 
</div> 

... 
+0

Tôi không nghĩ rằng vấn đề là, coz, không có gì có gợi ý rằng, để chứng minh quan điểm, nhận xét ra dòng 'jQuery (tài liệu) .ready (featured_block); 'do đó, nó trông giống như này' // jQuery Sau đó, cuộn ở phía dưới, nếu trang nhảy lên, vấn đề ur không phải là coz của fade in/out khác của nó, nếu không, bạn có thể thử sử dụng return false trên khối nổi bật và/hoặc gọi lại – Val

Trả lời

5

Cố gắng đưa ra các yếu tố chứa trong các khối phai trong và fadeOut một tĩnh height: thuộc tính với CSS.

Bọc <div id="featured"> khối bằng div khác.

<div id="rotator" style="height: 340px;"> 
    <div id="featured"> 
    ... 
    </div> 
</div> 
+0

Điều gì xảy ra trong trường hợp đó, các khối nổi bật mờ dần ở các vị trí khác nhau và không được đặt đúng vị trí. Tôi đang sử dụng 'style =" display: none "' để ẩn các khối khác khi trang web tải lần đầu tiên. – ronakg

+3

Ah. Các khối sau đó tất nhiên sẽ cần phải được thiết lập để 'vị trí: tuyệt đối;' do đó, tất cả chúng mờ đi trong và ngoài tại cùng một chỗ. –

+0

'position: absolute' đã thực hiện thủ thuật. Tuy nhiên, tôi đã phải điều chỉnh các yếu tố khác cho phù hợp vì cấu trúc hiện tại là tương đối trong tự nhiên. – ronakg

1

Nếu bạn đang sử dụng <a> với href iqual đến "#", chỉ cần trả về false; ở cuối hàm featured_block của bạn sẽ giải quyết vấn đề.