【发布时间】:2014-06-02 17:37:37
【问题描述】:
我正在构建一个小脚本来根据垂直页面滚动操作元素。 这个解决方案基本上可以正常工作,但我想知道是否有更高效的方法来做到这一点。我希望一切顺利。
$(document).ready(function(){
var element = $("#element1");
var elementOffset = element.offset().top;
var windowHeight = $(window).height();
var distanceEntry = windowHeight*0.8; // distance from element
var distanceExit = windowHeight*0.2; // distance from element
var entry = elementOffset-distanceEntry; // entry point in px from pagetop
var exit = elementOffset-distanceExit; // exit point in px from pagetop
var stepping = (exit-entry)/100; // px to percentage
$("#entry").css("top", entry); // placing entry-marker
$("#exit").css("top", exit); // placing exit-marker
$(window).scroll(function(){
var scroll = $(window).scrollTop();
var value = (scroll-entry)/stepping; // CALCULATION PROGRESS OF ANIMATION
if(value>=100) {value=100;} // cutting top and bottom
if(value<=0) {value=0;} // cutting top and bottom
value = Math.round(value); // to integer
$("#element1").css("left", value); // WRITING VALUE TO ELEMENT
$("#head").html("Element-Movement in Percent: " + value);
});
});
谢谢!
【问题讨论】:
标签: javascript jquery performance scroll