0

いくつかの JavaScript 関数を実装していますが、それらを別の js ファイルに入れると、次のエラーが発生しました: Undefined variable: "function name". ページの中央にインラインで配置すると、関数は正常に機能します。何がそのような問題を引き起こす可能性がありますか? 以下に例を示します。

function cssColorToHex(colorStr) {

  var hex = '#';

  $.each(colorStr.substring(4).split(','), function(i, str) {
      var h = ($.trim(str.replace(')',''))*1).toString(16);
      hex += (h.length == 1) ? "0" + h : h;
  });

  return hex;
}

function hexToRgb(hex) {

  var result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(hex);
  return result ? {
    r: parseInt(result[1], 16),
    g: parseInt(result[2], 16),
    b: parseInt(result[3], 16)
  } : null;
}

私はそれらを次の関数に入れました:

function colors_used() {

  var colors_used = [];

  $('.colorpicker').each(function() {

    var box = $(this).closest('.colorbox');
    var preset_color = $(box).css('background-color');
    preset_color = cssColorToHex(preset_color);....

したがって、最初の 2 つの関数を別のファイルに入れると、エラーとして次のようになります。

Uncaught exception: ReferenceError: Undefined variable: cssColorToHex   Event thread: DOMContentLoaded

UPD: *修正済み *: js ファイル内の関数の順序を入れ替えて、関数function hexToRgb(hex)が最初に来cssColorToHex(colorStr)て 2 番目になるようにしたら、動き始めました。変。みんなありがとう。

4

0 に答える 0