基本的html结构如下:
<div>
<a href="#demoForm" id="DemoButton">
<button>request demo</button>
</a>
</div>
<div id="space"></div>
<from id="demoForm">...</form>JavaScript:
window.onload = function comparison() {
window.addEventListener("scroll", reset, false);
var demo = document.getElementById('DemoButton');
demo.onclick = uniform;
}
function reset() {
document.getElementById('Space').style.height = '0';
}
function uniform() {
document.getElementById('Space').style.height = '160px';
};发布于 2015-11-14 02:33:25
我知道现在很多人都在用较新的CSS作为响应头。我相信它已经使用media queries完成了,我可能会建议更多地研究它。(我有一些经验,这也很容易,也很酷。)
理想情况下,您希望这样的事情发生在没有JavaScript的CSS中。看看你能不能把它弄明白。
使用非常轻的Javascript,似乎最简单的做法是,只要点击按钮,就用标题的高度来抵消滚动。您可以对标题高度进行硬编码或动态计算。
所以..。
;;;;;;;;;;;;;;
; $ = document ;
; id = 'getElementById' ;
;;;;;;;;;;;;;
onload = function (e)
{
$[id]('DemoButton')
. onclick = function offset(e)
{
document.body.scrollTop -= $[id]('Header').offsetHeight;
}
;
}备注
您可能必须将其封装在一个5 5ms的setTimeout中。很简单。
我不记得所有的交叉褐变。可能需要parseInt或使用document.documentElement。但是至少你现在没有跨浏览器滚动事件要处理,所以这应该很好。
https://stackoverflow.com/questions/33703906
复制相似问题