2011-06-01 22 views
8

क्या jQuery highlight effect फ़ेड के रंग को बदलना संभव है?jQuery: हाइलाइट फीड-टू रंग बदलें?

अभी यह पीले रंग की हाइलाइट शुरू करता है, फिर सफेद हो जाता है और फिर बाहर निकलता है।

अंत में मैं पीले रंग के साथ पृष्ठभूमि रंग को हाइलाइट करना चाहता हूं, फिर बस पारदर्शी होने के लिए फीका।

उत्तर

0

नीचे jQuery UI 1.8.9 में हाइलाइट प्रभाव स्रोत कोड है। ऐसा लगता है कि इसे सफेद रंग में फीका नहीं होना चाहिए ... इसे मूल पृष्ठभूमि रंग में पीले रंग से (पीएफएफ 99 या रंग का विकल्प जिसे आप पास करते हैं) से फीका होना चाहिए, जो परिवर्तनीय animation में कैश किया गया है। क्या आप 1.8.9 का उपयोग कर रहे हैं?

/* 
* jQuery UI Effects Highlight 1.8.9 
* 
* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) 
* Dual licensed under the MIT or GPL Version 2 licenses. 
* http://jquery.org/license 
* 
* http://docs.jquery.com/UI/Effects/Highlight 
* 
* Depends: 
* jquery.effects.core.js 
*/ 
(function($, undefined) { 

$.effects.highlight = function(o) { 
    return this.queue(function() { 
     var elem = $(this), 
      props = ['backgroundImage', 'backgroundColor', 'opacity'], 
      mode = $.effects.setMode(elem, o.options.mode || 'show'), 
      animation = { 
       backgroundColor: elem.css('backgroundColor') 
      }; 

     if (mode == 'hide') { 
      animation.opacity = 0; 
     } 

     $.effects.save(elem, props); 
     elem 
      .show() 
      .css({ 
       backgroundImage: 'none', 
       backgroundColor: o.options.color || '#ffff99' 
      }) 
      .animate(animation, { 
       queue: false, 
       duration: o.duration, 
       easing: o.options.easing, 
       complete: function() { 
        (mode == 'hide' && elem.hide()); 
        $.effects.restore(elem, props); 
        (mode == 'show' && !$.support.opacity && this.style.removeAttribute('filter')); 
        (o.callback && o.callback.apply(this, arguments)); 
        elem.dequeue(); 
       } 
      }); 
    }); 
}; 
+0

मैं वास्तव में 1.8.9 का उपयोग कर रहा हूं और यह निश्चित रूप से पीले से सफेद तक पारदर्शी हो जाता है। – Shpigford

+0

तब आपको सबसे अधिक उपयोगी उत्तर प्राप्त करने के लिए शायद अपने अधिक संदर्भ-विशिष्ट कोड को पोस्ट करने की आवश्यकता होगी। – RwwL

5

मैं अभी भी इस व्यवहार में jQuery UI 1.8.9 में आया हूं, ऐसा लगता है कि यह एक बग है।

मेरे आस-पास का तरीका उस तत्व के पृष्ठभूमि रंग को परिभाषित करना था जिसे मैं सीएसएस में हाइलाइट कर रहा था, इसे डिफ़ॉल्ट रूप से पारदर्शी करने की बजाय।

यदि पृष्ठभूमि रंग सेट नहीं है (यानी यह पारदर्शी है), मान लीजिए कि आपने हाइलाइट रंग नहीं बदला है, तो यह तत्व को पीले रंग से सफेद तक फीका होगा और फिर फीका होगा।

हालांकि, यदि आप उस तत्व के पृष्ठभूमि रंग को सेट करते हैं जिसे आप हाइलाइट कर रहे हैं तो यह आपके द्वारा हाइलाइट करते समय तत्व के मूल रंग में पीले रंग में फीका होगा।

+0

हाँ, निश्चित रूप से यहां एक फीका-से-पारदर्शी की आवश्यकता है। – Shpigford

+0

क्या आपने मेरे सुझाव का प्रयास किया है और उस तत्व के पृष्ठभूमि रंग को मैन्युअल रूप से सेट किया है जिसे आप हाइलाइट करने का प्रयास कर रहे हैं? – Ross

+0

जैसा कि मैंने अपनी मूल पोस्ट में और मेरे जवाब में उल्लेख किया है, मुझे फीका-पारदर्शी की आवश्यकता है। तत्व के पृष्ठभूमि रंग को सेट करने से मेरी मदद नहीं होती है क्योंकि मुझे इसे पारदर्शी होने की आवश्यकता है। – Shpigford

0

उपयोग jQuery रंग प्लगइन: https://github.com/jquery/jquery-color

इसके साथ आप तत्व पर प्रकाश डाला और ठीक से वापस पारदर्शी करने के लिए फीका कर सकते हैं।

1
$("#id").effect("highlight",{color:'#FFFF00',easing:'easeInElastic'},4000); 

विकल्पों में वस्तु प्रभाव के लिए है, तो आप रंग के सामान्य प्रॉपर्टी जो कुछ भी आप चाहते हैं बदल सकते हैं। मेरा तत्व रंग पर सेट नहीं है और यह उज्ज्वल पीले रंग को हाइलाइट करता है, फिर कुछ भी वापस नहीं आता है। मैं jQuery 1.8.1 और jQuery-UI का उपयोग कर रहा हूँ।