两种监听页面滚动的方法

两种监听页面滚动的方法,第1张

一、原生js通过window.onscroll监 听

window.onscroll = function() {

    //为了保证兼容性,这里取两个值,哪个有值取哪一个

    //scrollTop就是触发滚轮事件时滚轮的高度

    var scrollTop = document.documentElement.scrollTop || document.body.scrollTop

    console.log(“滚动距离” + scrollTop)

}

二、Jquery通过$(window).scroll()监听

$(window).scroll(function() {

//为了保证兼容性,这里取两个值,哪个有值取哪一个

//scrollTop就是触发滚轮事件时滚轮的高度

var scrollTop = document.documentElement.scrollTop || document.body.scrollTop

console.log(“滚动距离” + scrollTop)

})

将页面滚动到指定位置

主要使用的是锚点技术,锚点元素通过scrollTop值改变进行定位。

锚点

锚点是网页制作中超级链接的一种,又叫命名锚记。命名锚记像一个迅速定位器一样,是一种页面内的超级链接。

法一 直接使用scrollTop

使用scrollTop方法,x为滚轮的高度

$(“body,html”).scrollTop(x)

加动画的滚动

// 滚动到指定位置

$(‘html, body’).animate({

scrollTop: $("#div1").offset().top

}, 2000)

// 滚动到顶部,指定距顶部的距离

$(’.scroll_top’).click(function(){

$(‘html,body’).animate({

scrollTop: ‘0px’

}, 800)

})

方法二 利用hash

hash

hash 属性是一个可读可写的字符串,该字符串是 URL 的锚部分(从 # 号开始的部分)。

location.hash=anchorname。

例如:以下地址的hash为#hot

http://this.summer.io/is/#hot // location.hash → #hot

以下函数将页面定位到title元素

function aa(){

window.location.hash = “#title”

}

方法三 直接使用超链接锚点

点击a标签页面将会定位到anchor1元素

1 监听不到

2 这可能是因为iOS浏览器的返回按钮会缓存前一个页面而不是重新加载,所以无法触发浏览器的历史记录改变事件。

因此,即使在外部链接跳转回来后,也无法监听到返回事件。

3 如果想要监听返回事件,可以使用history.pushState()或者history.replaceState()将当前页面的URL添加到浏览器的历史记录中,以便在返回时触发历史记录改变事件,从而实现监听。

jtoolbar

toolbar

=

new

jtoolbar()

jbutton

blackbutton

=

nwe

jbutton()

blackbutton.addactionlistener(new

actionlistener(){

//...覆盖那个方法

})

toolbar.add(blackbutton)

-------------------------你参照上面的

首先工具条可以添加按钮,你把图片做成按钮就可以了

然后再添加到工具条上去,给按钮添加的事件,在toolbar上同样管用。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11726666.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存