我知道它有點要問,但是如果不使用jQuery,可能會出現下列情況:我現在用jQuery運行它,但它似乎在呈現性能問題。如果你能幫助,我將非常感激。我不懶惰,只是不太知道代碼。花了我一段時間,甚至得到這一點。慢滾動切換沒有jQuery?
//
// default speed ist the lowest valid scroll speed.
//
var default_speed = 1;
//
// speed increments defines the increase/decrease of the acceleration
// between current scroll speed and data-scroll-speed
//
var speed_increment = 0.01;
//
// maximum scroll speed of the elements
//
var data_scroll_speed_a = 2; // #sloganenglish
var data_scroll_speed_b = 5; // #image-ul
//
//
//
var increase_speed, decrease_speed, target_speed, current_speed, speed_increments;
$(document).ready(function() {
$(window).on('load resize scroll', function() {
var WindowScrollTop = $(this).scrollTop(),
Div_one_top = $('#image-ul').offset().top,
Div_one_height = $('#image-ul').outerHeight(true),
Window_height = $(this).outerHeight(true);
if (WindowScrollTop + Window_height >= (Div_one_top + Div_one_height)) {
$('#sloganenglish').attr('data-scroll-speed', data_scroll_speed_a).attr('data-current-scroll-speed', default_speed).attr('data-speed-increments', data_scroll_speed_a * speed_increment);
$('#image-ul').attr('data-scroll-speed', data_scroll_speed_b).attr('data-current-scroll-speed', default_speed).attr('data-speed-increments', data_scroll_speed_b * speed_increment);
increase_speed = true;
decrease_speed = false;
} else {
$('#sloganenglish').attr('data-scroll-speed', '1').attr('data-current-scroll-speed', default_speed);
$('#image-ul').attr('data-scroll-speed', '1').attr('data-current-scroll-speed', default_speed);
decrease_speed = true;
increase_speed = false;
}
}).scroll();
});
謝謝@ Rodrigo Pedrosa!你正在提出一些好的觀點!我會盡力實施它們,並就結果回覆你。 – Eddy
再次感謝@Rodrigo Pedrosa。我現在試圖僅在加載或調整大小時檢索兩個元素的高度。但是我覺得我沒有把握好。請參閱我的答案中的代碼。此外:#image-ul響應地改變高度。進一步說:「另一個值得注意的地方是,你設置'data-current-scroll-speed'和'data-speed-increment'屬性總是具有相同的常量值,沒有變化,沒有未設置,是否真的有必要?這我不明白你的意思。 – Eddy
請問@Rodrigo Pedrosa,請問您是否認爲這樣做會更好? – Eddy