快速点击jquery ajax加载破解页面

问题描述 投票:0回答:1

我正在努力的页面是在https://www.visaprosolutions.com

它使用jquery和ajax在页面之间进行转换。代码工作正常,除非您非常快速地单击页面或快速按下历史记录返回按钮。我将发布下面导航的代码(window.popstate运行相同的代码,除了pushstate)

    // -----------------navigation click--------------------
    // ----------Home---------
    $('nav > a:nth-of-type(1)').on('click', function (event){
      window.history.pushState('home', '', '/');
      $('.main_content > *').removeClass('riseup').addClass('sinkdown');
      setTimeout(function(){
        $(".page_css").attr("href", "/CSS/home.css");
      }, 400);

      if ( $('body').hasClass('pagegrid') ){
        $('body').removeClass('pagegrid');
        $('body').addClass('homegrid');
        $('index.php .subbox').insertAfter('.main_content');
      }
      $('.subbox').remove();

      $('.navilist').removeClass('pageonodd pageoneven');
      $('nav > a:nth-of-type(1) > p:first-of-type').addClass('pageonodd');

      $('.active_bg').after('<img src="Assets/background1.png" class="loader_bg">');
      $('.loader_bg').on('load', function() {
        $('.active_bg').animate({opacity: '0'}, 300, function(){
          $('.active_bg').remove();
          $('.loader_bg').addClass('active_bg').removeClass('loader_bg');

          $('.main_content').load('index.php .main_content > *', function(){
            $('.main_content > *').addClass('riseup');
            $.when($('body').append('<div id="subbox_loader"></div>')).done(function() {
              $('#subbox_loader').load('index.php .subbox', function() {
                $('.subbox').unwrap();
                $.getScript('/JS/home.js');
              });
            });
          });
        });
      });
    });
    // -----homebtn click on headerlogo click----
    $('#headerlogo').on('click', function(event) {
      event.preventDefault();
      $('nav > a:nth-of-type(1)').click();
    });

    // ----------VisaTypes---------
    $('nav > a:nth-of-type(2)').on('click', function (event){
      window.history.pushState('visatypes', '', 'visatypes');
      $('.main_content > *').removeClass('riseup').addClass('sinkdown');
      setTimeout(function(){
        $(".page_css").attr("href", "/CSS/visatypes.css");
      }, 400);

      if ( $('body').hasClass('homegrid') ){
        $('body').removeClass('homegrid');
        $('body').addClass('pagegrid');
        $('.subbox').remove();
      }

      $('.navilist').removeClass('pageonodd pageoneven');
      $('nav > a:nth-of-type(2) > p:first-of-type').addClass('pageoneven');

      $('.active_bg').after('<img src="Assets/background2.png" class="loader_bg fixed_bg">');
      $('.loader_bg').on('load', function() {
        $('.active_bg').animate({opacity: '0'}, 300, function(){
          $('.active_bg').remove();
          $('.loader_bg').addClass('active_bg').removeClass('loader_bg');


          $('.main_content').load('visatypes.php .main_content > *', function(){
            $('.main_content > *').addClass('riseup');
          });
        });
      });

    });

    // ----------Process---------
    $('nav > a:nth-of-type(3)').on('click', function (event){
      window.history.pushState('process', '', 'process');
      $('.main_content > *').removeClass('riseup').addClass('sinkdown');
      setTimeout(function(){
        $(".page_css").attr("href", "/CSS/process.css");
      }, 400);

      if ( $('body').hasClass('homegrid') ){
        $('body').removeClass('homegrid');
        $('body').addClass('pagegrid');
        $('.subbox').remove();
      }

      $('.navilist').removeClass('pageonodd pageoneven');
      $('nav > a:nth-of-type(3) > p:first-of-type').addClass('pageonodd')

      $('.active_bg').after('<img src="Assets/background3.png" class="loader_bg">');
      $('.loader_bg').on('load', function() {
        $('.active_bg').animate({opacity: '0'}, 300, function(){
          $('.active_bg').remove();
          $('.loader_bg').addClass('active_bg').removeClass('loader_bg');


          $('.main_content').load('process.php .main_content > *', function(){
            $('.main_content > *').addClass('riseup');
            $.getScript('/JS/process.js');
          });
        });
      });
    });

    // ----------About---------
    $('nav > a:nth-of-type(4)').on('click', function (event){
      window.history.pushState('about', '', 'about');
      $('.main_content > *').removeClass('riseup').addClass('sinkdown');
      setTimeout(function(){
        $(".page_css").attr("href", "/CSS/about.css");
      }, 400);

      if ( $('body').hasClass('homegrid') ){
        $('body').removeClass('homegrid');
        $('body').addClass('pagegrid');
        $('.subbox').remove();
      }

      $('.navilist').removeClass('pageonodd pageoneven');
      $('nav > a:nth-of-type(4) > p:first-of-type').addClass('pageoneven')

      $('.active_bg').after('<img src="Assets/background4.png" class="loader_bg">');
      $('.loader_bg').on('load', function() {
        $('.active_bg').animate({opacity: '0'}, 300, function(){
          $('.active_bg').remove();
          $('.loader_bg').addClass('active_bg').removeClass('loader_bg');


          $('.main_content').load('about.php .main_content > *', function(){
            $('.main_content > *').addClass('riseup');
            $.getScript('/JS/about.js');
          });
        });
      });
    });
    // ----------Contact---------
    $('nav > a:nth-of-type(5)').on('click', function (event){
      window.history.pushState('contact', '', 'contact');
      $('.main_content > *').removeClass('riseup').addClass('sinkdown');
      setTimeout(function(){
        $(".page_css").attr("href", "/CSS/contact.css");
      }, 400);

      if ( $('body').hasClass('homegrid') ){
        $('body').removeClass('homegrid');
        $('body').addClass('pagegrid');
        $('.subbox').remove();
      }

      $('.navilist').removeClass('pageonodd pageoneven');
      $('nav > a:nth-of-type(5) > p:first-of-type').addClass('pageonodd')

      $('.active_bg').after('<img src="Assets/background5.png" class="loader_bg">');
      $('.loader_bg').on('load', function() {
        $('.active_bg').animate({opacity: '0'}, 300, function(){
          $('.active_bg').remove();
          $('.loader_bg').addClass('active_bg').removeClass('loader_bg');


          $('.main_content').load('contact.php .main_content > *', function(){
            $('.main_content > *').addClass('riseup');
            $.getScript('/JS/contact.js');
          });
        });
      });
    });
    // ----------Get Started---------
    $('nav > a:nth-of-type(6)').on('click', function (event){
      window.history.pushState('getstarted', '', 'getstarted');
      $('.main_content > *').removeClass('riseup').addClass('sinkdown');
      setTimeout(function(){
        $(".page_css").attr("href", "/CSS/getstarted.css");
      }, 400);

      if ( $('body').hasClass('homegrid') ){
        $('body').removeClass('homegrid');
        $('body').addClass('pagegrid');
        $('.subbox').remove();
      }

      $('.navilist').removeClass('pageonodd pageoneven');
      $('nav > a:nth-of-type(6) > p:first-of-type').addClass('pageoneven')

      $('.active_bg').after('<img src="Assets/background6.png" class="loader_bg fixed_bg">');
      $('.loader_bg').on('load', function() {
        $('.active_bg').animate({opacity: '0'}, 300, function(){
          $('.active_bg').remove();
          $('.loader_bg').addClass('active_bg').removeClass('loader_bg');


          $('.main_content').load('getstarted.php .main_content > *', function(){
            $('.main_content > *').addClass('riseup');
            $.getScript('/JS/getstarted.js');
          });
        });
      });

如果有人知道如何添加修复ID真的很感激它!

jquery ajax navigation transition
1个回答
0
投票
setTimeout(function(){
  $(".page_css").attr("href", "/CSS/home.css");
}, 400);`enter code here`

试图摆脱这个超时,因为你的页面没有跟上节奏,无法正确加载CSS

$(".page_css").attr("href", "/CSS/home.css");
© www.soinside.com 2019 - 2024. All rights reserved.