Jquery 只执行一次的代码

时间:2022-05-19 17:53:07
代码:

    $(document).ready(function () {

            $("#ConvenientSearch").hide();

            $("#image_center1 img").click(function () {
                $("#ConvenientSearch").hide();
                $("#FastSearch").show();
            });
            $("#image_center2 img").click(function () {
                $("#ConvenientSearch").show();
                $("#FastSearch").hide();
            });
    });

我的意思是:只想让
$("#ConvenientSearch").hide(); 代码只执行一次,
就是在网页第一次打开的时候执行$("#ConvenientSearch").hide(); 代码
其它的时候都不执行

与.net中的
if (!IsPostBack)

  $("#ConvenientSearch").hide();      
}
一样

21 个解决方案

#1


完美的解决方案是服务端保存用户是否是第一次访问该页面的状态。
其次是写个cookie保存用户是否是第一次访问该页面的状态。但是这个方法在cookie清理或者失效后就不行了

#2


不一定是用户头一次访问这个网页,

用户第一访问完关掉后,
第两次在访问也行

就是用户第一次打开这网页,
用户要是点刷新或是…………
就不执行了

#3


引用 1 楼  的回复:
完美的解决方案是服务端保存用户是否是第一次访问该页面的状态。
其次是写个cookie保存用户是否是第一次访问该页面的状态。但是这个方法在cookie清理或者失效后就不行了


不一定是用户头一次访问这个网页,

用户第一访问完关掉后,
第两次在访问也行

就是用户第一次打开这网页,
用户要是点刷新或是…………
就不执行了

#4


 我建议你在CSS里默认让它隐藏就可以了

#5


引用 4 楼  的回复:
我建议你在CSS里默认让它隐藏就可以了

+1
http://www.zhjie.net

#6


用一标记记录是否执行过,在执行前判断这个标记的状态.

#7


引用 4 楼  的回复:
我建议你在CSS里默认让它隐藏就可以了


让与我想的不符合,

#8


保存状态到window.name中,窗口关闭后就会重置状态,不过没什么实际意义啊。

<!DOCTYPE html>
<html>
<head>
</head>

<body>
<script type="text/javascript">
if(window.name != "off"){
alert("就看见一次");
window.name = "off";
}
</script>
</body>
</html>

#9


引用 6 楼  的回复:
用一标记记录是否执行过,在执行前判断这个标记的状态.


这个标记如何来做呢? 隐藏域? 如果用隐藏域的话 界面刷新之后隐藏域也会重置的.如果是cookie的话,就要设定保存的时间. 这个保存时间又如何来定义, 全靠楼主自己斟酌了.

#10


引用 8 楼  的回复:
保存状态到window.name中,窗口关闭后就会重置状态,不过没什么实际意义啊。

HTML code


<!DOCTYPE html>
<html>
<head>
</head>

<body>
<script type="text/javascript">
    if(window.name != "off"){
        alert("就看见一次");
……


这方法我试过了,没效果,没有能回答吗?
只需要和.net中的
if (!IsPostBack)
{  
  $("#ConvenientSearch").hide();   
}
效果一样就行

#11


定义一个隐藏文本框  ID为  HIDMARK   默认值为0
后台代码:
if (!IsPostBack)
{   
  HIDMARK.Value="0";//第一次加载
}
else{
   HIDMARK.Value="1";//不是第一次加载
}

前台代码:
if($("#HIDMARK").val() == 0){
$("#ConvenientSearch").hide();   
}

#12


如果页面不进行刷新不就只执行一次了吗?写成页面嵌套

#13


引用 11 楼  的回复:
定义一个隐藏文本框 ID为 HIDMARK 默认值为0
后台代码:
if (!IsPostBack)
{  
  HIDMARK.Value="0";//第一次加载
}
else{
  HIDMARK.Value="1";//不是第一次加载
}

前台代码:
if($("#HIDMARK").val() == 0){
$("#ConvenientSearch").hide(……


还有更好的方法吗

#14


传说中  jquery有个one()这个方法就是执行一次

#15


定义一个全局变态不就好了么?
var firstview=0;
$(document).ready(function () {
if(firstview==0){
$("#ConvenientSearch").hide();
firstview=1;
}

#16


定义全局变量i=0 判断

#17



var a =0;

$(document).ready(function () {

if(a==0){
   a=1;
  $("#ConvenientSearch").hide();
}
  $("#image_center1 img").click(function () {
  $("#ConvenientSearch").hide();
  $("#FastSearch").show();
  });
  $("#image_center2 img").click(function () {
  $("#ConvenientSearch").show();
  $("#FastSearch").hide();
  });
  });


这个 可以吗?。。 

#18


哎呦,这个啊,jquery.one(function(){})这个就是执行一次的方法

#19


定义一个成员变量。

#20


没有办法的. js在浏览器每刷新一次 都重新执行的.

#21


引用 18 楼  的回复:
哎呦,这个啊,jquery.one(function(){})这个就是执行一次的方法


正解,我都把这个望了。。。

#1


完美的解决方案是服务端保存用户是否是第一次访问该页面的状态。
其次是写个cookie保存用户是否是第一次访问该页面的状态。但是这个方法在cookie清理或者失效后就不行了

#2


不一定是用户头一次访问这个网页,

用户第一访问完关掉后,
第两次在访问也行

就是用户第一次打开这网页,
用户要是点刷新或是…………
就不执行了

#3


引用 1 楼  的回复:
完美的解决方案是服务端保存用户是否是第一次访问该页面的状态。
其次是写个cookie保存用户是否是第一次访问该页面的状态。但是这个方法在cookie清理或者失效后就不行了


不一定是用户头一次访问这个网页,

用户第一访问完关掉后,
第两次在访问也行

就是用户第一次打开这网页,
用户要是点刷新或是…………
就不执行了

#4


 我建议你在CSS里默认让它隐藏就可以了

#5


引用 4 楼  的回复:
我建议你在CSS里默认让它隐藏就可以了

+1
http://www.zhjie.net

#6


用一标记记录是否执行过,在执行前判断这个标记的状态.

#7


引用 4 楼  的回复:
我建议你在CSS里默认让它隐藏就可以了


让与我想的不符合,

#8


保存状态到window.name中,窗口关闭后就会重置状态,不过没什么实际意义啊。

<!DOCTYPE html>
<html>
<head>
</head>

<body>
<script type="text/javascript">
if(window.name != "off"){
alert("就看见一次");
window.name = "off";
}
</script>
</body>
</html>

#9


引用 6 楼  的回复:
用一标记记录是否执行过,在执行前判断这个标记的状态.


这个标记如何来做呢? 隐藏域? 如果用隐藏域的话 界面刷新之后隐藏域也会重置的.如果是cookie的话,就要设定保存的时间. 这个保存时间又如何来定义, 全靠楼主自己斟酌了.

#10


引用 8 楼  的回复:
保存状态到window.name中,窗口关闭后就会重置状态,不过没什么实际意义啊。

HTML code


<!DOCTYPE html>
<html>
<head>
</head>

<body>
<script type="text/javascript">
    if(window.name != "off"){
        alert("就看见一次");
……


这方法我试过了,没效果,没有能回答吗?
只需要和.net中的
if (!IsPostBack)
{  
  $("#ConvenientSearch").hide();   
}
效果一样就行

#11


定义一个隐藏文本框  ID为  HIDMARK   默认值为0
后台代码:
if (!IsPostBack)
{   
  HIDMARK.Value="0";//第一次加载
}
else{
   HIDMARK.Value="1";//不是第一次加载
}

前台代码:
if($("#HIDMARK").val() == 0){
$("#ConvenientSearch").hide();   
}

#12


如果页面不进行刷新不就只执行一次了吗?写成页面嵌套

#13


引用 11 楼  的回复:
定义一个隐藏文本框 ID为 HIDMARK 默认值为0
后台代码:
if (!IsPostBack)
{  
  HIDMARK.Value="0";//第一次加载
}
else{
  HIDMARK.Value="1";//不是第一次加载
}

前台代码:
if($("#HIDMARK").val() == 0){
$("#ConvenientSearch").hide(……


还有更好的方法吗

#14


传说中  jquery有个one()这个方法就是执行一次

#15


定义一个全局变态不就好了么?
var firstview=0;
$(document).ready(function () {
if(firstview==0){
$("#ConvenientSearch").hide();
firstview=1;
}

#16


定义全局变量i=0 判断

#17



var a =0;

$(document).ready(function () {

if(a==0){
   a=1;
  $("#ConvenientSearch").hide();
}
  $("#image_center1 img").click(function () {
  $("#ConvenientSearch").hide();
  $("#FastSearch").show();
  });
  $("#image_center2 img").click(function () {
  $("#ConvenientSearch").show();
  $("#FastSearch").hide();
  });
  });


这个 可以吗?。。 

#18


哎呦,这个啊,jquery.one(function(){})这个就是执行一次的方法

#19


定义一个成员变量。

#20


没有办法的. js在浏览器每刷新一次 都重新执行的.

#21


引用 18 楼  的回复:
哎呦,这个啊,jquery.one(function(){})这个就是执行一次的方法


正解,我都把这个望了。。。