当鼠标单击正文中的任何位置时,页面向上滚动
Page Scroll Up when mouse click on anywhere in body
我的主页有如下代码。我调用了一个Javascript函数onpage load
。在blink函数中,输入文本在特定的时间间隔内闪烁。
<body onload="blink()";/>
<form>
<input autocomplete="off" onkeydown="if (this.value=='xxx xxx xxx ?') this.value='';StopBlinking();" type="text" class="search_input" name="searchword" id="searchword" onKeyup="request(event);" value="xxx xxx xxx ?" onclick="if (this.value=='xxx xxx xxx ?') this.value='';StopBlinking();" onfocus="if (this.value=='xxx xxx xxx ?') this.value='';StopBlinking();" onblur="if (this.value=='') this.value='xxx xxx xxx ?';"/>
<div class="clicked-area">
....Did something.....
</div>
</form>
</body>
<script>
function blink() {
document.getElementById("searchword").focus();
if(document.getElementById("searchword").value == "XXX XXX XXX XXX")
{
document.getElementById("searchword").value = "";
} else if( document.getElementById("searchword").value == "" ){
document.getElementById("searchword").value = "XXX XXX XXX XXX";
}
timer = setTimeout("blink()", 500);
}
function StopBlinking()
{
clearTimeout(timer);
}
</script>
在这个页面中,当我在div
上点击任何地方时,"clicked-area"
出乎意料地我的页面正在滚动到顶部。
但是当我从脚本"timer = setTimeout("blink()", 500);",
中删除超时方法时,它不会发生。有人能帮我解决这个问题吗?
为什么一开始要移除眨眼功能?如果你的主要目标是在click -area被点击时将页面移动到顶部你可以在点击
时将函数移动到click -area<div class="clicked-area" onclick="blink()">
function blink() {
document.getElementById("searchword").focus();
}
我认为这很正常。当使用脚本聚焦输入时,整个页面需要滚动到输入的位置。
你点击输入之外的任何地方,你使它失去焦点。然后blink()
再次运行,输入得到"重新聚焦"。然后整个页面向上滚动(因为输入在顶部)。
如果你试着在输入和点击区域div之间放一堆br标签,这样页面会更长,你会看到更明显的效果
输入是否需要始终集中?
相关文章:
- 有没有一种方法可以直接从cordova获得滚动位置
- 根据滚动位置动态更改href
- 是否可以使用flexbox显示模型设置元素的滚动位置
- 浏览器持续滚动位置
- Sammy.js缓存和滚动位置时,返回历史
- PHP保持滚动位置
- 按下后退按钮时,如何保持可滚动区域的滚动位置
- 滚动位置 (scrollTop) 硬件是否在浏览器中加速
- 在 React 中创建滚动位置指标
- 关闭移动菜单后恢复滚动位置
- 检测可滚动元素内的滚动位置
- 如何在反应性呈现新帖子时保持滚动位置
- UI 路由器 - 在状态之间转换时记住滚动位置
- 单击下拉列表时保持滚动位置(javascript)
- 保留选项后的滚动位置(单击时)
- js-scrollToEl获取滚动位置
- Backbone.js路由和滚动位置
- 如何更改页眉'的底部边框颜色取决于滚动位置
- 如何精确地获得页面的最大滚动位置
- 导航栏固定底部位置,当到达滚动位置时切换到静态