2015-06-11 112 views
4

我從AJAX調用的查詢啓動腳本時遇到問題。衝突的AJAX和JQuery腳本 - 無錯

AJAX工作正常,並加載帖子,但它停止了「.jobs-button」能夠運行所需的腳本。奇怪的是,如果我將此設置爲AJAX外部稱爲查詢塊的另一個元素,則該腳本可以正常工作。

任何想法爲什麼「.jobs-button」不會在「hide/show」腳本中觸發?

這裏有一個演示櫃面我的解釋不明確:http://pixeldesigns.uk/ardour/jobs

這第一個腳本,是一個簡單的「顯示/隱藏」:

jQuery(".jobs-button").toggle(function() { 
    jQuery(".jobs-main").slideDown(500); 
    jQuery(".jobs-head") 
     .delay(500) 
     .queue(function() { 
      jQuery(this).removeClass("jobs-closed"); 
      jQuery(this).addClass("jobs-open"); 
      jQuery(this).dequeue(); 
     }); 

    jQuery(".fa-chevron-down") 
     .delay(500) 
     .queue(function() { 
      jQuery(this).removeClass("rotate"); 
      jQuery(this).addClass("rotated"); 
      jQuery(this).dequeue(); 
     }); 
    jQuery(".jobs-intro, .jobs-desc, .jobs-qual, .jobs-bul").delay(500).animate({ 
     'opacity': 1 
    }, 500); 
}, function() { 
    jQuery(".jobs-main").delay(500).slideUp(500); 
    jQuery(".jobs-head") 
     .delay(1000) 
     .queue(function() { 
      jQuery(this).addClass("jobs-closed"); 
      jQuery(this).removeClass("jobs-open"); 
      jQuery(this).dequeue(); 
     }); 

    jQuery(".fa-chevron-down") 
     .delay(1000) 
     .queue(function() { 
      jQuery(this).removeClass("rotated"); 
      jQuery(this).addClass("rotate"); 
      jQuery(this).dequeue(); 
     }); 

    jQuery(".jobs-intro, .jobs-desc, .jobs-qual, .jobs-bul").animate({ 
     'opacity': 0 
    }, 500); 
}); 

第二運行AJAX調用網頁上的腳本加載和按鈕單擊它運行查詢並帶來正確的帖子:

jQuery(window).load(function() { 
    jQuery('#load').show(); 
    jQuery.ajax({ 
     url: "<?php echo get_stylesheet_directory_uri(); ?>/ajax/sales.php", 
     type: "get", 
     success: function (e) { 
      document.getElementById("tab-1").innerHTML = e; 
      jQuery('#load').hide(); 
     }, 
     error: function (e, t) { 
      e.status > 0 && (document.getElementById("tab-1").innerHTML = "Error: " + t); 
     } 
    }) 
}); 

jQuery("#tb-1").click(function() { 
    jQuery('#load').show(); 
    jQuery.ajax({ 
     url: "<?php echo get_stylesheet_directory_uri(); ?>/ajax/sales.php", 
     type: "get", 
     success: function (e) { 
      document.getElementById("tab-1").innerHTML = e; 
      jQuery('#load').hide(); 
     }, 
     error: function (e, t) { 
      e.status > 0 && (document.getElementById("tab-1").innerHTML = "Error: " + t); 
     } 
    }) 
}); 

回答

0

使用Firebug我拿起這段代碼給出了一個錯誤,因爲re不是元素「#flow」。也許這個代碼在這個頁面上不需要,因爲它是流程圖?

// Flow Chart 

      jQuery.ajax(jQuery(window).width()<989?{url:"http://pixeldesigns.uk/ardour/wp-content/themes/ardour/ajax/flow-small.php",type:"get",success:function(e){document.getElementById("flow").innerHTML=e},error:function(e,n){e.status>0&&(document.getElementById("flow").innerHTML="Error: "+n)}}:{url:"http://pixeldesigns.uk/ardour/wp-content/themes/ardour/ajax/flow-big.php",type:"get",success:function(e){document.getElementById("flow").innerHTML=e},error:function(e,n){e.status>0&&(document.getElementById("flow").innerHTML="Error: "+n)}});