比较来自世界各地的卖家的域名和 IT 服务价格

javascript 单击顺畅滚动

我使用这个链接:


<a class="" href="superContent" onclick="location.href='#top'">superContent</a>


他同时制作两件事:

用户过渡到页面的上部

执行另一个 /un/ 负载功能 ajax

一切都适用,除了我想了解如何让他滚动更顺利。 我试图添加 .scroll, 将它附加到我的插件 jquery scrollTo, 但没有任何事情发生,这可能是由于我使用的事实 javascript onclick, 而属性 href 做些什么完全不同。

有没有办法将动画平滑滚动附加到 onclick= "location.href='#top'"?
已邀请:

三叔

赞同来自:

尝试一下,它会动画函数
scrollTop//

.

设置引用标识符:


<a id="link">link</a>


jquery 用于滚动:


$/'#link'/.click/function/e/{
var $target = $/'html,body'/;
$target.animate/{scrollTop: $target.height//}, 500/;
}/;

小姐请别说爱

赞同来自:

document.querySelector/'button'/.addEventListener/'click', function//{
scrollTo/ document.querySelector/'aside'/, Math.floor/Math.random// * 1000/ + 1 , 600 /;
}/;

function scrollTo/element, to, duration/ {
var start = element.scrollTop,
change = to - start,
currentTime = 0,
increment = 20;

var animateScroll = function//{
currentTime += increment;
var val = Math.easeInOutQuad/currentTime, start, change, duration/;
element.scrollTop = val;
if/currentTime < duration/ {
setTimeout/animateScroll, increment/;
}
};
animateScroll//;
}

//t = current time
//b = start value
//c = change in value
//d = duration
Math.easeInOutQuad = function /t, b, c, d/ {
t /= d/2;
if /t < 1/ return c/2*t*t + b;
t--;
return -c/2 * /t*/t-2/ - 1/ + b;
};



button{ float:left; }
aside{ height:200px; width:50%; border:2px dashed red; overflow:auto; }
aside::before{
content:'';
display:block;
height:1000px;
background: linear-gradient/#3f87a6, #ebf8e1, #f69d3c/;
}



<button>click to random scroll</button>
<aside></aside>

要回复问题请先登录注册