我需要在页面加载时向下滚动约50px。这就是我正在使用的:
$(window).load(function(){
$("html,body").scrollTop(55);
});
我也试过了:
scrollTo(0,55)
这在Firefox和IE中运行良好,但是在Chrome,Safari和Opera中它向下滚动到正确的位置,然后跳回到顶部(或最后一个滚动位置)。
我也尝试使用元素id向下滚动,但浏览器仍会覆盖它。我试过这样:
htttp://website.com#element
答案 0 :(得分:4)
我认为你的问题是你正在使用$(window).load,而且有些浏览器遇到问题,因为事情已经完全渲染了。尝试交换
$(document).ready(function(){
$("html,body").scrollTop(55);
});
似乎在所有浏览器中都可以正常使用http://jsfiddle.net/7jwRk/1/
信息
<强> $(文件)。就绪
在加载HTML文档并且DOM准备就绪时执行
<强> $(窗口).load
在完整页面完全加载时执行,包括所有帧,对象和图像
答案 1 :(得分:2)
您可以使用scrollIntoView()函数。大多数浏览器(甚至IE6)都支持此功能。
document.getElementById('header').scrollIntoView()
答案 2 :(得分:1)
public class MainActivity extends AppCompatActivity {
EditText ed1,ed2,ed3;
String edtv1,edtv2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ed1= (EditText) findViewById(R.id.editText);
ed2= (EditText) findViewById(R.id.editText2);
ed3= (EditText) findViewById(R.id.editText3);
final TextView tv = (TextView) findViewById(R.id.textView);
final String sentence = tv.getText().toString();
if (ed1 != null) {
ed1.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
tv.setText(String.format("%s_", sentence.replace("__", "_" + s.toString())));
}
});
edtv1 = ed1.getText().toString();
}
if (ed2 != null) {
ed2.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void afterTextChanged(Editable s) {
tv.setText(String.format("%s_", sentence.replace("__", "_" + s.toString())));
}
});
edtv2 = ed2.getText().toString();
}
}
}
将id =“123”添加到任何<script type="text/javascript">
$(document).ready(function(){
var divLoc = $('#123').offset();
$('html, body').animate({scrollTop: divLoc.top}, "slow");
});
</script>
,它会在页面加载时自动向下滚动。
如果前一个脚本不起作用,这是另一个脚本!
<div>
将id =“fixed”添加到任何 <script>
window.setInterval(function() {
var elem = document.getElementById('fixed');
elem.scrollTop = elem.scrollHeight; }, 3000);
</script>
,它会在页面加载时自动向下滚动。
答案 3 :(得分:0)
或者,只需在身体末端开火:
...
<script type="text/javascript">
$("html,body").scrollTop(55);
</script>
</body>
</html>
答案 4 :(得分:0)
在弄乱 scrollIntoView()
并在页面绘制时观察它正确滚动后,然后无缘无故地捕捉到顶部,我选择了这个:
http://website.com/#target
和
<a name="target">
然后浏览器准确地理解我需要什么并执行它。但我只能这样做,因为我们控制了 URI,所以它自然也不会在所有情况下都有效。
答案 5 :(得分:-1)
如果使用2台显示器,请确保在打开浏览器窗口并在其中执行脚本的页面时,不要将窗口移到另一台具有不同屏幕分辨率的显示器上。不久:不要将浏览器的窗口跨过其他显示器,只需为每个显示器/屏幕分辨率打开浏览器的新窗口即可。