ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript-当图像通过页面上的某个点时如何更改图像,然后当图像超过该点时如何更改回图像?

2019-11-02 05:36:02  阅读:195  来源: 互联网

标签: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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有