2009-08-31 24 views
0

jQueryのcolorpickerプラグインから選択された16進値を取得し、jQueryクッキープラグインを使用してクッキーとして保存しようとしています。あるjQuery関数から別のjQuery関数に値を引き出す

2つを結びつける適切な方法がわかりません(jsとjQueryの新機能)。 「

var bgColor = $.cookie('bgColor'); 

if (bgColor == 'picker') { 
$('#colorSelector div, .preview-image, .cover ').css('backgroundColor', '#' + hex); 
}; 

私は設定と標準のCSSの背景色としてクッキーの値を保存することができますが、することができます

は、ここに私のカラーピッカー機能です:

$('#colorSelector').ColorPicker({ 
color: '#ffffff', 
onShow: function (colpkr) { 
    $(colpkr).fadeIn(500); 
    return false; 
}, 
onHide: function (colpkr) { 
    $(colpkr).fadeOut(500); 
    return false; 
}, 
onChange: function (hsb, hex, rgb) { 
    $('#colorSelector div, .preview-image, .cover ').css('backgroundColor', '#' + hex); 
    $('body').css('backgroundColor', '#' + hex); 
     $.cookie('bgColor', 'picker'); 
    return false; 
} 
}); 

そして、ここにあるように私クッキー機能です"backgroundColor"、 "# '+ hex"値をクッキー機能に引き込む方法を理解してください。 onChange機能で

+0

したがって、cookie機能ではbgColor == 'picker'の値はありますか? –

+0

'picker'の値はクッキー機能にはなく、単にcolorSelector関数(デフォルトでは)= 'backgroundColor'、 '#' + hexです。 1つの関数からその値をどのように引き出すかわかりませんもう片方。 –

答えて

0

$.cookie('bgColor', '#' + hex); 

とクッキー機能で

var bgColor = $.cookie('bgColor');  
if (typeof bgColor == 'string' && bgColor.charAt(0)=='#') { 
    $('#colorSelector div, .preview-image, .cover ').css('backgroundColor', bgColor); 
}; 
+0

私は謝り、テストからのdiggテキストを残しました。両方の関数に同じ名前を反映するように編集しました。 'picker' –

+0

もし私のコードの改訂版をあなたの提案機能に貼り付けることができたら、それがどのように機能するのか分かりますか?ありがとう、ピア。 –

0

変更ニーズのための身体セレクタ。

(function($){ 



    var initLayout = function() { 
     var hash = window.location.hash.replace('#', ''); 
     var currentTab = $('ul.navigationTabs a') 
          .bind('click', showTab) 
          .filter('a[rel=' + hash + ']'); 
     if (currentTab.size() == 0) { 
      currentTab = $('ul.navigationTabs a:first'); 
     } 
     showTab.apply(currentTab.get(0)); 
     $('#colorpickerHolder').ColorPicker({flat: true}); 
     $('#colorpickerHolder2').ColorPicker({ 
      flat: true, 
      color: '#00ff00', 
      onSubmit: function(hsb, hex, rgb) { 
       $('#colorSelector2 div').css('backgroundColor', '#' + hex); 
      } 
     }); 
     $('#colorpickerHolder2>div').css('position', 'absolute'); 
     var widt = false; 
     $('#colorSelector2').bind('click', function() { 
      $('#colorpickerHolder2').stop().animate({height: widt ? 0 : 173}, 500); 
      widt = !widt; 
     }); 
     $('#colorpickerField1, #colorpickerField2, #colorpickerField3').ColorPicker({ 
      onSubmit: function(hsb, hex, rgb, el) { 
       $(el).val(hex); 
       $(el).ColorPickerHide(); 
      }, 
      onBeforeShow: function() { 
       $(this).ColorPickerSetColor(this.value); 
      } 
     }) 
     .bind('keyup', function(){ 
      $(this).ColorPickerSetColor(this.value); 
     }); 

      var bgColor = $.cookie('bgColor');  
      if (typeof bgColor == 'string' && bgColor.charAt(0)=='#') { 
      $('body').css('backgroundColor', bgColor); 
      }; 


     $('#colorSelector').ColorPicker({ 
      color: '#0000ff', 
      onShow: function (colpkr) { 
       $(colpkr).fadeIn(500); 
       return false; 
      }, 
      onHide: function (colpkr) { 
       $(colpkr).fadeOut(500); 
       return false; 
      }, 
      onChange: function (hsb, hex, rgb) { 
      $('body').css('backgroundColor', '#' + hex); 
      $.cookie('bgColor', '#' + hex); 
      } 


     }); 
    }; 

    var showTab = function(e) { 
     var tabIndex = $('ul.navigationTabs a') 
          .removeClass('active') 
          .index(this); 
     $(this) 
      .addClass('active') 
      .blur(); 
     $('div.tab') 
      .hide() 
       .eq(tabIndex) 
       .show(); 
    }; 

    EYE.register(initLayout, 'init'); 
})(jQuery) 
関連する問題