Javascript的滚动大小调整ID与最小值首先应用
Javascript on scroll resize ID with a minimum value applied first
我有一个元素,当我向下滚动时,我将元素的X值向上缩放,这完全没问题。
问题是,虽然默认情况下SCALE是0,所以一旦它被应用,当我想从1开始时,它从0开始。
我已经设置了一个滚动最大位置为200px和最大规模2.0的CSS与一个重要的标签,这似乎工作。
如果有人能帮助解决这个问题,你的努力将会非常有帮助。
function parallaxy()
{
offset2 = +(scrollVal * 0.009);
layer2.style.webkitTransform = "scale(" + offset2 + ")";
layer2.style.MozTransform = "scale(" + offset2 + ")";
layer2.style.msTransform = "scale(" + offset2 + ")";
layer2.style.OTransform = "scale(" + offset2 + ")";
layer2.style.transform = "scale(" + offset2 + ")";
}
var body = document.body;
var container = document.getElementById("parallax");
var isTouchscreen;
var scrollVal = 1;
var offset2;
var maxoffset = 10;
var layer2 = document.getElementById("layer-2");
function setup() {
/*var platform = navigator.platform.toLowerCase();
var userAgent = navigator.userAgent.toLowerCase();
if ( platform.indexOf('ipad') != -1 || platform.indexOf('iphone') != -1 )
{
isTouchscreen = 1;
container.setAttribute("class", "touch");
body.style.backgroundImage = 'none';
}
else if (platform.indexOf('win32') != -1 || platform.indexOf('linux') != -1)
{
isTouchscreen = 0;
if ($.browser.webkit)
{
$.srSmoothscroll();
}
}
else
{
isTouchscreen = 0;
}*/
}
function parallaxy() {
//var elem = document.getElementById("layer1");
//elem.style.transform = "10px";
//console.log(scrollVal);
offset2 = +(scrollVal * 0.01);
if (offset2 > maxoffset) {
offset2 = maxoffset;
} else {
offset2 = +(scrollVal * 0.01);
}
layer2.style.webkitTransform = "scale(" + offset2 + ")";
layer2.style.MozTransform = "scale(" + offset2 + ")";
layer2.style.msTransform = "scale(" + offset2 + ")";
layer2.style.OTransform = "scale(" + offset2 + ")";
layer2.style.transform = "scale(" + offset2 + ")";
//console.log(offset2);
}
function scrollHandler(e) {
scrollVal = Math.max(window.pageYOffset, 0)+100;
console.log(offset2);
/* UNCOMMENT THESE LINES TO ABORT PARALLAX STUFF */
/*
isTouchscreen = 1;
container.setAttribute("class", "touch");
body.style.backgroundImage = 'none';
*/
if (isTouchscreen != 1) {
parallaxy();
}
}
body.onload = setup();
document.addEventListener('scroll', scrollHandler, false);
#container .container {
z-index: 999;
position: relative;
}
#parallax {
position: relative;
z-index: 10;
top: 50px !important;
width: 100%;
height: 1080px;
overflow: hidden;
}
.parallax_layer {
width: 100%;
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
#container.touch .parallax_layer {
position: absolute;
}
#layer-2 {
z-index: 999;
width: 100%;
height: 1080px;
position: absolute;
-webkit-transform: scale(1);
-moz-transform: scale(1);
-ms-transform: scale(1);
-o-transform: scale(1);
transform: scale(1);
}
#layer-2 {
background: url("http://www.staples.co.uk/content/images/product/GenesisExtraLarge/45/56/asset.1714556.jpg") transparent center top no-repeat;
z-index: 1000;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="parallax">
<div class="parallax_layer" id="layer-2"></div>
</div>
相关文章:
- Html5输入属性的默认值,如最小值、最大值、大小等
- Angular JS在一行中查找最小值
- 识别滑块范围的最小值和最大值
- 求除零以外的最小值
- Javascript-如何使用函数找到数组的最小值
- 我有一个字段计算,如果结果低于 60,则需要显示最小值
- 如何在拖动后获得图表的最小值和最大值放大高图表
- AngularJs:在数字输入字段中设置验证的条件最小值和最大值
- HTML5范围滑块最小值和最大值
- 如何仅在存在最小值和最大值时才显示错误消息
- 在 JavaScript 事件中添加最小值和最大值
- 从 JavaScript 中的数组中获取最大值和最小值
- 获取整数对象属性名称的最小值和最大值
- 高图表 - 在缩放重置中设置最大值和最小值
- Java 脚本 设置日期的最小值和最大值属性
- 如何设置jQuery微调器的最大值和最小值
- 当达到最小值和最大值时,防止在输入中显示额外的文本
- 使用函数从数组中查找最小值和最大值
- Javascript的滚动大小调整ID与最小值首先应用
- 在chrome应用程序示例中添加窗口状态(最大值、最小值等)侦听器