2017-09-06 47 views
-2

雖然我在這裏發現了類似的問題,但是我之前無法在js文件中合併JS和JQUERY文件,只需複製&,建議。 我會給你確切的代碼。你能指導我整合它嗎?當我將jquery粘貼到js中時,js可以工作,但jquery代碼不起作用。如何將jQuery代碼和js代碼合併到單個js文件中(例如)

1)JS文件。

function wr_reveal(elem, type, callback) { 
    if (elem) 
     $(elem).slideDown(400, callback); 
} 
function wr_set_inner_html(elem, type, html) { 
    if (elem) 
     elem.innerHTML = html; 
} 
function wr_set_outer_html(elem, type, html) { 
    if (elem) { 
     var e = document.createElement('div'); 
     e.innerHTML = html; 
     elem.parentNode.replaceChild(e.firstChild, elem); 
    } 
} 
function wr_show_waiting_after(elem, inside) { 
    if (elem && !elem.wr_waiting_shown) { 
     var w = document.getElementById('wr-waiting-template'); 
     if (w) { 
      var c = w.cloneNode(true); 
      c.id = null; 
      if (inside) 
       elem.insertBefore(c, null); 
      else 
       elem.parentNode.insertBefore(c, elem.nextSibling); 
      elem.wr_waiting_shown = c; 
     } 
    } 
} 
function wr_ajax_post(operation, params, callback) { 
    jQuery.extend(params, { 
     wr: 'ajax', 
     wr_operation: operation, 
     wr_root: wr_root, 
     wr_request: wr_request 
    }); 
    jQuery.post(wr_root, params, function(response) { 
     var header = 'wr_AJAX_RESPONSE'; 
     var headerpos = response.indexOf(header); 
     if (headerpos >= 0) 
      callback(response.substr(headerpos + header.length).replace(/^\s+/, '').split("\n")); 
     else 
      callback([]); 
    }, 'text').fail(function(jqXHR) { 
     if (jqXHR.readyState > 0) callback([]) 
    }); 
} 
function wr_ajax_error() { 
    alert('Unexpected response from server - please try again or switch off Javascript.'); 
} 

2)jQuery的文件

$(document).ready(function() { 
    $('#wr-holder-toggle').click(function(e) { 
     e.stopPropagation(); 
     $(this).toggleClass('holder-active'); 
     $('.wr-holder-items').slideToggle(100); 
    }); 
    $('.wr-holder-items').click(function(event) { 
     event.stopPropagation(); 
    }); 
    $(window).resize(function() { 
     if (window.matchMedia('(min-width: 980px)').matches) { 
      $(".wr-search.the-top .wr-search").hide(); 
      $(".wr-nav-main").show('fast'); 
     } else { 
      $(".wr-search.the-top .wr-search").show(); 
      $(".wr-nav-main").hide(); 
      $('.wr-menu-toggle').removeClass('current'); 
     } 
    }); 
}); 

編輯:我試圖把JQUERY第一,然後JS,反之亦然,但在這兩種情況下,jQuery的功能不起作用。

它是組合文件的樣子?

$(document).ready(function() { 
    $('#wr-holder-toggle').click(function(e) { 
     e.stopPropagation(); 
     $(this).toggleClass('holder-active'); 
     $('.wr-holder-items').slideToggle(100); 
    }); 
    $('.wr-holder-items').click(function(event) { 
     event.stopPropagation(); 
    }); 
    $(window).resize(function() { 
     if (window.matchMedia('(min-width: 980px)').matches) { 
      $(".wr-search.the-top .wr-search").hide(); 
      $(".wr-nav-main").show('fast'); 
     } else { 
      $(".wr-search.the-top .wr-search").show(); 
      $(".wr-nav-main").hide(); 
      $('.wr-menu-toggle').removeClass('current'); 
     } 
    }); 
}); 
    function wr_reveal(elem, type, callback) { 
    if (elem) 
     $(elem).slideDown(400, callback); 
} 
function wr_set_inner_html(elem, type, html) { 
    if (elem) 
     elem.innerHTML = html; 
} 
function wr_set_outer_html(elem, type, html) { 
    if (elem) { 
     var e = document.createElement('div'); 
     e.innerHTML = html; 
     elem.parentNode.replaceChild(e.firstChild, elem); 
    } 
} 
function wr_show_waiting_after(elem, inside) { 
    if (elem && !elem.wr_waiting_shown) { 
     var w = document.getElementById('wr-waiting-template'); 
     if (w) { 
      var c = w.cloneNode(true); 
      c.id = null; 
      if (inside) 
       elem.insertBefore(c, null); 
      else 
       elem.parentNode.insertBefore(c, elem.nextSibling); 
      elem.wr_waiting_shown = c; 
     } 
    } 
} 
function wr_ajax_post(operation, params, callback) { 
    jQuery.extend(params, { 
     wr: 'ajax', 
     wr_operation: operation, 
     wr_root: wr_root, 
     wr_request: wr_request 
    }); 
    jQuery.post(wr_root, params, function(response) { 
     var header = 'wr_AJAX_RESPONSE'; 
     var headerpos = response.indexOf(header); 
     if (headerpos >= 0) 
      callback(response.substr(headerpos + header.length).replace(/^\s+/, '').split("\n")); 
     else 
      callback([]); 
    }, 'text').fail(function(jqXHR) { 
     if (jqXHR.readyState > 0) callback([]) 
    }); 
} 
function wr_ajax_error() { 
    alert('Unexpected response from server - please try again or switch off Javascript.'); 
} 
+5

沒有理由不能將這些代碼塊合併到單個文件中。你只需要確保你已經包含jquery.js *之前*你引用文件 –

+0

你在控制檯中得到什麼錯誤? –

+0

@RoryMcCrossan我嘗試了兩種方式,包括之前和之後。但是,在兩種方式jQuery不起作用。 – esqeudero

回答

0

我找到了解決辦法最後。我正在分享它,也許它可能會引起一些其他用戶的興趣。 我把JQUERY放在底部(在js代碼之後),並且在每個js函數之後插入「(jQuery)」。它爲我工作。這裏如何結合。

function wr_reveal(elem, type, callback) { 
    if (elem) 
     $(elem).slideDown(400, callback); 
}(jQuery), 
function wr_set_inner_html(elem, type, html) { 
    if (elem) 
     elem.innerHTML = html; 
}(jQuery), 
function wr_set_outer_html(elem, type, html) { 
    if (elem) { 
     var e = document.createElement('div'); 
     e.innerHTML = html; 
     elem.parentNode.replaceChild(e.firstChild, elem); 
    } 
}(jQuery), 
function wr_show_waiting_after(elem, inside) { 
    if (elem && !elem.wr_waiting_shown) { 
     var w = document.getElementById('wr-waiting-template'); 
     if (w) { 
      var c = w.cloneNode(true); 
      c.id = null; 
      if (inside) 
       elem.insertBefore(c, null); 
      else 
       elem.parentNode.insertBefore(c, elem.nextSibling); 
      elem.wr_waiting_shown = c; 
     } 
    } 
}(jQuery), 
function wr_ajax_post(operation, params, callback) { 
    jQuery.extend(params, { 
     wr: 'ajax', 
     wr_operation: operation, 
     wr_root: wr_root, 
     wr_request: wr_request 
    }); 
    jQuery.post(wr_root, params, function(response) { 
     var header = 'wr_AJAX_RESPONSE'; 
     var headerpos = response.indexOf(header); 
     if (headerpos >= 0) 
      callback(response.substr(headerpos + header.length).replace(/^\s+/, '').split("\n")); 
     else 
      callback([]); 
    }, 'text').fail(function(jqXHR) { 
     if (jqXHR.readyState > 0) callback([]) 
    }); 
}(jQuery), 
function wr_ajax_error() { 
    alert('Unexpected response from server - please try again or switch off Javascript.'); 
}(jQuery), 
$(document).ready(function() { 
    $('#wr-holder-toggle').click(function(e) { 
     e.stopPropagation(); 
     $(this).toggleClass('holder-active'); 
     $('.wr-holder-items').slideToggle(100); 
    }); 
    $('.wr-holder-items').click(function(event) { 
     event.stopPropagation(); 
    }); 
    $(window).resize(function() { 
     if (window.matchMedia('(min-width: 980px)').matches) { 
      $(".wr-search.the-top .wr-search").hide(); 
      $(".wr-nav-main").show('fast'); 
     } else { 
      $(".wr-search.the-top .wr-search").show(); 
      $(".wr-nav-main").hide(); 
      $('.wr-menu-toggle').removeClass('current'); 
     } 
    }); 
});