怎样让js只在第一次加载界面的时候执行

发布网友 发布时间:2022-04-22 21:23

我来回答

5个回答

热心网友 时间:2023-10-02 16:42

你可以用一个hidden来保存是否第一次加载的值
<input type= "hidden " id= "hid1 " runat= "server " value= "0 " />

function test()
{
var hid1 = document.getElementById( "hid1 ");
if(hid1.value == "0 ")
{
//如果是第一次加载,则操作
window.onload=functionName;
function window.onload(){
functionName();
}
window.onload=function(){
functionName();
}

}
else
{
//否则不操作
}
}
<body onload= "test(); ">

后台的Page_Load事件
if(Page.IsPostBack)
{
hid1.Value = "1 "; //如果是重新加载则将hidden的值变成1
}

热心网友 时间:2023-10-02 16:42

jquery中有个one,可以实现这个功能。只执行一次。追问能具体一些吗?比如举一个例子?谢啦 呵呵

追答对于只需要触发一次,随后就要立即解除绑定的情况,jquery提供了一种简写方法 One()方法。
One()方法的结构与bind()方法类似,使用方法也与bind()方法相同,其语法结构如下:
one(type,[data],fn);
type为事件类型(blur,focus,load,resize,unload,click,mousedown,change等等),[data]为传入的数据,可省略的参数。fn为执行函数。
资料来源:《锋利的jquery》 117页
例子如下:

$(function(){
$('#btn').one("load",function(){
//需要执行的操作
});
});

热心网友 时间:2023-10-02 16:43

普通的使用:
window.onload = function(){
// 在这里写你的代码...
}

Jquery使用:
$(document).ready(function(){
// 在这里写你的代码...
});

热心网友 时间:2023-10-02 16:43

只能用客户端的COOKIES来判断了,这样也有一个缺点,就是客户端删除COOKIES后就又视为第一次访问了.

热心网友 时间:2023-10-02 16:44

你这个第一次是怎么算的?所有人访问这个页 只是第一个人访问的的时候执行 那没办法 只能通过后台来判断

如果是每次执行这个页面在执行JS的话 那就把JS放到最下面 或者用JQUERY

$(document).ready(
function () {
***
}
);追问是每一个人第一次访问的时候执行,以后就不在执行了

追答那也没办法判断 因为你不并不知道这个用户是不是第2次来 除非让他登陆可以判断 或者你说的就是每次请求这个页只执行一次 那么就放到页面最后 他自然就只执行一次了。。。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com