2016-07-02 8 views
1

Ich möchte, dass dieser Code nur beim ersten Laden der Seite funktioniert.Javascript auf der ersten Seite starten nur laden

Gibt es eh nicht zu verwenden nicht IsPostBack auf Javascript?

IsPostBack: Ruft einen Wert ab, der angibt, ob die Seite zum ersten Mal gerendert wird oder als Antwort auf ein Postback geladen wird. 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> 

Bearbeiten - Lösung:

<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

Anstelle des Fülltextes können Sie erklären, was "IsPostBack" ist. – JJJ

+0

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

+2

'0500' ist 320 übrigens. – Xufox

Antwort

1

Shop eine Variable bei Cookie auf den ersten Laden der Seite und prüfen Sie den Wert der Variablen jedes Mal.

Die Verwendung von Cookie finden Sie unter this.

[UPDATED]

habe ich eine html für demo und die source für Sie aufgrund origin-same policy Cookie.

Ich habe die Quelle kopiert, um den folgenden Code für die Sicherung. Sie müssen den folgenden Code auf Ihrem eigenen Ursprung ausführen, weil Ursprung-selbe Politik wie zuvor erwähnt.

<!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

Ich habe den JavaScript-Code kopiert, was nun? – harel486

+0

Bitte sehen Sie als * Demo *. Sie werden sehen, dass ** diese Seite zum ersten Mal geladen wird. ** auf der ersten Seite laden und Sie sehen auch ** Diese Seite wurde vorher geladen. ** nachdem Sie die Seite neu geladen haben. Sie können die Demo erneut anzeigen, indem Sie Cookie zurücksetzen. – Anson

0

Beachten Sie, dass Sie nicht 100% sicher sein können, dass Ihr Skript nur beim ersten Laden ausgeführt wird.

Wenn Sie es wirklich "sichern" möchten, können Sie versuchen, Daten in Sitzung, Cookies und localStorage zu speichern.

Verwandte Themen