标签:animation image rotation javascript scroll
我对javascript完全陌生,但是我想学习它而不是jQuery以获得一些基本知识.我要创建的函数在通过页面的50%时应设置动画箭头以向上旋转.除此之外,倒置时调用的功能也应更改.
因此:upArrow onClick(scrollUp)
downArrow onClick(scrollDown)
我确定我听起来很愚蠢,但也许有人可以理解我要解释的内容.
解决方法:
您可以编写imageelement.src属性以指向其他箭头,或者为了获得额外的平滑度,使用包含两个箭头的CSS Sprite并编写element.style.backgroundPosition来更改显示的图像,而不必加载新图像.
您可以为imageelement.onclick分配一个新函数,以更改单击它时发生的事情,但是通常只有一个单击函数根据状态来决定要做什么,这会更简单.
例如:
<div id="arrow" class="arrow-down"></div>
#arrow {
position: fixed; top: 0; left: 0; z-index: 10;
width: 32px; height: 32px;
background-image: url(/img/arrow.png);
}
.arrow-down {
background-position: 0 0;
}
.arrow-up {
background-position: 0 -32px;
}
var arrow= document.getElementById('arrow');
window.onscroll=window.onresize= function() {
arrow.className= isHalfwayDown()? 'arrow-up' : 'arrow-down';
};
arrow.onclick= function() {
var h= document.documentElement.scrollHeight;
scrollTo(0, isHalfwayDown()? 0 : h);
window.onscroll();
};
function isHalfwayDown() {
var y= document.documentElement.scrollTop+document.body.scrollTop;
var h= document.documentElement.scrollHeight;
return y>=h/2;
}
浏览器兼容性说明:window.onscroll()是因为在使用scrollTo()时IE不会触发滚动事件. html和body的滚动偏移量都必须在isHalfwayDown()中添加在一起,因为不幸的是,浏览器不同意哪个元素代表了视口.
标签:animation,image,rotation,javascript,scroll 来源: https://codeday.me/bug/20191102/1989218.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。