jquery中的onload函数不能正常刷新

时间:2016-10-31 10:10:57

标签: javascript jquery html css onload

我是jquery的新手。我有一个简单的项目。两张照片堆叠在一起。我希望页面首先显示第二张图片(因此页面需要从某个滚动点开始),然后用户可以向上滚动到第一张图片。所以代码会像那样

HTML:

stmt = db.prepare ("SELECT number_table2 from my_table2 WHERE user=?");

CSS:

!DOCTYPE html>
<html>
<head>
    <title>test</title>
    <link rel="stylesheet" type="text/css" href="styles.css">
    <script type="text/javascript" src="jquery.js"></script>
</head>   
<body>
        <div id="mainPage" width="100%">
            <img  id="top" src="pic1.jpg" width="100%">
            <img  id="bottom" src="pic2.jpg" width="100%">
        </div>
</body>
    <script type="text/javascript" src="script.js"></script>
</html>

的JavaScript

body {
    margin: 0px;
    padding: 0px;
}

#top {
  display: block; 
}

#bottom {
  display: block; 
}

这在我第一次加载页面时有效,但是如果我刷新页面它不起作用(我假设因为与缓存有关)?如何刷新页面时如何使onload功能正常工作?谢谢你的时间。

3 个答案:

答案 0 :(得分:2)

如果您使用的是jq,为什么不在$(document).ready()上使用此类功能

&#13;
&#13;
$(document).ready(function(){
  $(window).scrollTop( 3000 );
});
$(window).unload(function(){
  $(window).scrollTop( 3000 );
})
&#13;
body {
  margin: 0px;
  padding: 0px;
}
#top {
  display: block;
}
#bottom {
  display: block;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="mainPage" width="100%">
  <img id="top" src="http://drkeyurparmar.com/wp-content/uploads/2015/02/dummy-article-img-1.jpg" width="100%">
  <img id="bottom" src="http://drkeyurparmar.com/wp-content/uploads/2015/02/dummy-article-img-1.jpg" width="100%">
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

load是页面加载时刻,beforeunload是刷新页面时刻

 $(window).on("load",function() {        
    scroll(0, 2300); 
});
 $(window).on("beforeunload",function() {        
    scroll(0, 2300); 
});

答案 2 :(得分:0)

因此,如果它第一次工作,您的代码就可以了。但似乎你必须强制删除页面缓存。

尝试以下选项:

将此元标记添加到您的头部并尝试一下。

<meta http-equiv="Cache-control" content="no-cache">
<meta http-equiv="Expires" content="-1">

如果你想通过js控制缓存的删除,你可以尝试制作一个简单的js函数:

deleteCache(){
   window.location = window.location.href+'?eraseCache=true';
}