2016-07-02 58 views
1

我希望此代码仅在第一次加载页面时工作。仅在第一页加载运行Javascript

反正是有关于JavaScript的使用不IsPostBack

IsPostBack:获取一个值,指示该页面是否正被渲染的首次或响应于回发被加载。 More here

<script> 

window.onload = function TimedCss() 
{ 

    setTimeout(myTimeout1, 0500) 
    setTimeout(myTimeout2, 1000) 
    setTimeout(myTimeout3, 1500) 
    setTimeout(myTimeout4, 2000) 
    setTimeout(myTimeout5, 2500) 
    setTimeout(myTimeout6, 3000) 
} 



} 
function myTimeout1() 
{ 
    document.getElementById("LBLName").className = " animated fadeInLeft"; 
    document.getElementById("LBLName").style.visibility = "visible"; 
} 
function myTimeout2() 
{ 
    document.getElementById("LBLDescription").className = " animated rotateIn"; 
    document.getElementById("LBLDescription").style.visibility = "visible"; 
} 
function myTimeout3() 
{ 
    document.getElementById("P1").className = " animated zoomIn"; 
    document.getElementById("P1").style.visibility = "visible"; 
} 
function myTimeout4() 
{ 
    document.getElementById("TXTQuantity").className = " animated flipInY"; 
    document.getElementById("TXTQuantity").style.visibility = "visible"; 
} 
function myTimeout5() 
{ 
    document.getElementById("LBLPrice").className = " animated slideInLeft"; 
    document.getElementById("LBLPrice").style.visibility = "visible"; 
} 
function myTimeout6() 
{ 
    document.getElementById("BTNAddToCart").className += " animated fadeInUp"; 
    document.getElementById("BTNAddToCart").style.visibility = "visible"; 
} 

</script> 

编辑 - 解决方案:

<script> 
window.onload = function TimedCSS() 
{ 
    var isPostBack=<%= IsPostBack ? "true" : "false" %> 

    if (!isPostBack) 
    { 
     setTimeout(myTimeout1, 0500) 
     setTimeout(myTimeout2, 1000) 
     setTimeout(myTimeout3, 1500) 
     setTimeout(myTimeout4, 2000) 
     setTimeout(myTimeout5, 2500) 
     setTimeout(myTimeout6, 3000) 
    } 




function myTimeout1() 
{ 
    document.getElementById("LBLName").className = " animated fadeInLeft"; 
    document.getElementById("LBLName").style.visibility = "visible"; 
} 
function myTimeout2() 
{ 
    document.getElementById("LBLDescription").className = " animated rotateIn"; 
    document.getElementById("LBLDescription").style.visibility = "visible"; 
} 
function myTimeout3() 
{ 
    document.getElementById("P1").className = " animated zoomIn"; 
    document.getElementById("P1").style.visibility = "visible"; 
} 
function myTimeout4() 
{ 
    document.getElementById("TXTQuantity").className = " animated flipInY"; 
    document.getElementById("TXTQuantity").style.visibility = "visible"; 
} 
function myTimeout5() 
{ 
    document.getElementById("LBLPrice").className = " animated slideInLeft"; 
    document.getElementById("LBLPrice").style.visibility = "visible"; 
} 
function myTimeout6() 
{ 
    document.getElementById("BTNAddToCart").className += " animated fadeInUp"; 
    document.getElementById("BTNAddToCart").style.visibility = "visible"; 
} 

</script> 
+2

除了填充文本,你可以解释'IsPostBack'是什么。 – JJJ

+0

@Juhana [的IsPostBack ...](https://msdn.microsoft.com/en-us/library/system.web.ui.page.ispostback(V = vs.110)的.aspx) – harel486

+2

'0500'是顺便说一下,320。 – Xufox

回答

1

商店在第一页加载中的Cookie一个变量,每次检查变量的值。

参考this对Cookie的使用情况。

[增订]

我创建了一个HTML为demo和因饼干的origin-same policysource你。

我复制源到作为备用下面的代码。您必须在您自己的原产地执行以下代码,因为原产地 - 与前面提到的相同的政策

<!DOCTYPE> 
<html> 
    <head> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
    </head> 
    <body> 
     <div id="pageLoadStatus"></div> 
     <script> 
      var _ = {}; 
      /** 
      * Gets or sets cookies 
      * @param name 
      * @param value (null to delete or undefined to get) 
      * @param options (domain, expire (in days)) 
      * @return value or true 
      */ 
      _.cookie = function(name, value, options) 
      { 
       if (typeof value === "undefined") { 
        var n, v, 
         cookies = document.cookie.split(";"); 
        for (var i = 0; i < cookies.length; i++) { 
         n = $.trim(cookies[i].substr(0,cookies[i].indexOf("="))); 
         v = cookies[i].substr(cookies[i].indexOf("=")+1); 
         if (n === name){ 
          return unescape(v); 
         } 
        } 
       } else { 
        options = options || {}; 
        if (!value) { 
         value = ""; 
         options.expires = -365; 
        } else { 
         value = escape(value); 
        } 
        if (options.expires) { 
         var d = new Date(); 
         d.setDate(d.getDate() + options.expires); 
         value += "; expires=" + d.toUTCString(); 
        } 
        if (options.domain) { 
         value += "; domain=" + options.domain; 
        } 
        if (options.path) { 
         value += "; path=" + options.path; 
        } 
        document.cookie = name + "=" + value; 
       } 
      }; 

      var hasLoadedBefore = _.cookie('hasLoadedBefore'); 
      if(!!hasLoadedBefore) $('#pageLoadStatus').text('This page has been loaded before.'); 
      else $('#pageLoadStatus').text('This page loaded at first time.'); 
      _.cookie('hasLoadedBefore', true); 
     </script> 
    </body> 
</html> 
+0

我已经复制了JavaScript代码,现在呢? – harel486

+0

请参阅* demo *。你会看到**第一次加载这个页面。**在第一次加载页面时,你也会看到**这个页面在你重新加载页面之前已经被加载。您可以通过重置Cookie来重新显示演示。 – Anson

0

请注意,您不能100%确定您的脚本只能在第一次加载时运行。

如果你真的想为“安全”,你可以尝试存储在会话,饼干和localStorage的数据。

相关问题