0
我为jQuery写了一个简单的视差滚动效果的小插件。它可以在所有浏览器中工作,除了< ie8。IE8 Jquery scrollTop总是返回0
$.fn.extend({
//plugin name - parallax (simpel)
parallax: function(options) {
var defaults = {
speed: 3
};
var options = $.extend(defaults, options);
var o = options;
var obj = $(this);
var s = $(window).scrollTop()/o.speed;
if ($.browser.msie && parseInt($.browser.version, 10) <= 8) {
obj.css({"top" : -s + "px"});
}else{
obj.css("-webkit-transform", "translateY(-" + s + "px)");
obj.css("-moz-transform", "translateY(-" + s + "px)");
obj.css("-ms-transform", "translateY(-" + s + "px)");
}
}
});
在我的主要jQuery的文件我用这样的代码:
$(window).scroll(function(){
$('.headMenu').parallax({speed: 6});
$('.header_img').parallax();
});
出于某种原因,“S”始终保持0找不到原因。我认为$(window).scroll在IE8中不起作用。
scrollTo与scrollTop不一样吗?我需要获得某人滚动的位置,并在有人滚动时更新此值。在这种情况下,变量's'。 –
我知道,这就是为什么我说“如果它适合您的需求”:-) – legendofawesomeness