2017-09-06 14 views
-2

これまで同様の質問がありましたが、jsファイルにJSとJQUERYファイルを組み合わせることはできませんでした。&提案する。 正確なコードをお知らせします。あなたはそれを組み合わせるために私を導くことができますか? jsにjqueryコードを貼り付けると、jsは動作しますが、jqueryコードは機能しません。jqueryコードとjsコードを1つの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'); 
     } 
    }); 
}); 

EDITファイル:私は最初にJSおよびその逆は、両方のケースではjQueryの機能が動作しないのjQueryを入れてみました。

これはCOMBINEDファイルのようですか?

$(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

これらのコードブロックを1つのファイルに結合することはできません。ファイルを参照する前にjquery.js *をインクルードしておく必要があります。 –

+0

コンソールにはどんなエラーがありますか? –

+0

@RoryMcCrossan前と後を含めて両方の方法を試しました。しかし、両方の方法でjqueryは機能しません。 – esqeudero

答えて

0

私は最終的に解決策を見つけました。私はそれを共有している、おそらくそれは他のユーザーの関心にある可能性があります。 jsコードの後ろにJQUERYを入れ、それぞれの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'); 
     } 
    }); 
}); 
関連する問題