ajax设置滚轮效果,用 jQuery 实现页面滚动(Scroll)效果的完美方法

这篇博客分享了一种解决jQuery实现页面滚动在Opera浏览器中出现闪烁问题的完美方法。博主通过添加特定的Opera补丁代码,使得页面平滑滚动功能在Opera下也能正常工作。文章提供了详细的代码示例,包括如何返回顶部和滚动到特定元素,并提供了一个滚动到评论框的实例。适合对JavaScript和jQuery有一定了解的读者参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以前很多博主都写过/转载过用 jQuery 实现页面滚动(Scroll)效果的方法,但目前搜来的方法大都在 Opera 下有个小 Bug:直接用跳的而且画面闪烁。

今天,超级低调的高手 Willin 共享了一种完美方法解决 jQuery 实现滚动效果在 Opera 下的bug,我随即调试+应用到我目前的主题,目前经过测试非常完美,特意贴出代码加以说明。

因为本人不太懂 js,jQuery 也只是皮毛,原理方面我说不清楚,只能说明修改方法。

演示:点击现在的主题 zOM 底部的“Δ”/文章页面标题下面的“x comments”  “Leave a comment”

假设:你的主题最上面的 id 是 header,最下面的“返回顶部”的 id 为 top

jQuery 代码如下:

jQuery(document).ready(function($) {

$body = (window.opera) ? (document.compatMode == "CSS1Compat" ? $('html') : $('body')) : $('html,body');// 这行是 Opera 的补丁, 少了它 Opera 是直接用跳的而且画面闪烁 by willin

$('#top').click(function(){

$body.animate({scrollTop: $('#header').offset().top}, 1000);

return false;// 返回false可以避免在原链接后加上#

});

});

说明:直接看注释

$('#top').click(function(){...}); 这是滚动基本代码,可以根据自个情况变通,也就是举一反三了,如:既然可以返回顶部,那么就可以滚动到底部、滚动到某一个 id、滚动到中间……

那么我再贴出一个滚动到“评论框”的例子:

例子前提假如:文章标题下面有个“添加评论”,原来的html如下

(注:#respond 是评论框的 id)

那么 $('#top').click(function(){...}); 这段代码就变为如下:

$('#add-comment').click(function(){

$body.animate({scrollTop: $('#respond').offset().top}, 1000);

return false;

});

这样就行了,简单不?有些朋友说原理,学jQ去吧

更多的方法去 Willin 的《頁面 Scroll 的幾種方法》

f9086c4e462783cc70e7cad814c46c5f.png

zww

or

09772b041d791d7360995556a13f7520.gif

oooo

发布时间:2010年04月30日 23:25

版权声明:除非注明,文章均为 zwwooooo 原创,转载请以链接形式标明本文地址!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值