একটি "ঘূর্ণমান" ফ্যাশন কিছু উপাদান হাইলাইট কিভাবে?

এখানে আমার সমস্যা আছে: যখন ব্যবহারকারী "বৈধ" বোতামটি ক্লিক করেন, আমি একটি "AJAX অনুরোধ" পাঠায় যা "সমস্যাযুক্ত" উপাদানগুলির একটি অ্যারে প্রদান করে। যে অ্যারে থেকে, আমি আমি হাইলাইট করতে চান উপাদান আইডি গণনা তারপর আমি "ফ্ল্যাশ" তাদের।

এটি চমৎকার, এটি কাজ করে, কিন্তু তারা সমস্ত ফ্ল্যাশ একসঙ্গে

আমি তাদের পরে তাদের এক ফ্ল্যাশ করতে চান, যাতে এটি আর এবং সুন্দর (= আক্রমনাত্মক নয়) দেখায়। আমি কিউ() ফাংশন ব্যবহার করার চেষ্টা করার জন্য কিছু সময় কাটিয়েছি (আমার ধারণা এটির পথ) কিন্তু এটি কাজ করার জন্য পরিচালিত হয়নি

কোন ধারণা কিভাবে এই কাজ করতে?

/* this is the function to retrieve bg color (= not the actual subject) */
jQuery.fn.getBg = function() {
    return $(this).parents().filter(function() {
        var color = $(this).css('background-color');
        return color != 'transparent' && color != 'rgba(0, 0, 0, 0)';
    }).eq(0).css('background-color');
};

/* this is my flash function (= not the actual subject) */
function flash(id, font_color, bg_color, nb) {
    var bc=$(id).getBg();
    var cl=$(id).css('color');
    var mx=parseInt(nb);
    if (mx<=0) {
        mx=1;
    }
    for (var i=0; i
0

3 উত্তর

এখানে কাজ সমাধান আছে:

dataMessage = new Array("#erreur-nomprenom", "#erreur-adresse1", "#erreur-cp", "#erreur-ville", "#erreur-tel");
var theQueue = $({});
for (key in dataMessage) {
    var m = dataMessage[key];
    if (m.indexOf('#erreur') == 0) {
        var toFlash = (function(m) {
            return function(next) {
                $(m).fadeIn('slow', function() {
                    flash('#label-' + this.id.substr(7), "#ffffff", "#aa0000", 3);
                    next();
                });
            }
        })(m);
        theQueue.queue('flash', toFlash);
    }
}
theQueue.dequeue('flash');
0
যোগ

আপনি jQuery এর <�কোড> কিউ পদ্ধতি ব্যবহার করতে সঠিক হবে। এখানে একটি উদাহরণ যা সমস্ত divs লাগে এবং ক্রম তাদের রং পরিবর্তন।

var theQueue = $({});

$('div').each(function(index, div) {
    theQueue.queue('flash', function(next) {    
        $(div).animate({
            backgroundColor: 'red'
        }, 500, function() {
            next();
        });    
    });
});

theQueue.dequeue('flash');

Live example - http://jsfiddle.net/z7xRe/

স্ট্যাক ওভারফ্লোের আরেকটি প্রশ্ন আছে যে এই ব্যবহারের ক্ষেত্রে এটি আরও বিস্তারিতভাবে নিয়ে যায় - কি কি কি জেইনে কিউ? @ গারফের প্রতিক্রিয়া দেখুন।

0
যোগ
সত্যিই আপনি অনেক ধন্যবাদ, কিন্তু, আপনার নমুনা নির্ভর আমি এটি কাজ করার চেষ্টা করেছি কিন্তু এটি না, এখানে দেখুন: jsfiddle.net/k8yKP/1
যোগ লেখক Olivier Pons, উৎস
ঠিক আছে, এখন আমি শেষ সমস্যা সম্মুখীন করছি: যখন উপাদান একটি অ্যারে হয়। jsfiddle.net/k8yKP/2 => দুঃখিত, যখন এটি জাভাস্ক্রিপ্টের কাছে আসে তখন আমি নই ছায়াছবি মধ্যে sharpest হাতিয়ার ..
যোগ লেখক Olivier Pons, উৎস
এখানে console.log() যোগ করা আমার জিনিস, আমি এটা কিভাবে কাজ করতে জানি না: jsfiddle.net/k8yKP/3
যোগ লেখক Olivier Pons, উৎস
আমি কাজ সমাধান যোগ করেছি, ডান ট্র্যাক আমাকে নির্বাণ জন্য আপনাকে ধন্যবাদ!
যোগ লেখক Olivier Pons, উৎস
রঙের অ্যানিমেশনগুলি করতে আপনাকে অবশ্যই jQuery UI এ অন্তর্ভুক্ত করতে হবে ( jqueryui.com/demos/animate দেখুন )। আমি jsFiddle এ jQuery UI আনতে চেকবক্সটি ক্লিক করেছি এবং এটি প্রত্যাশিত হিসাবে কাজ করে - jsfiddle.net/78zar
যোগ লেখক TJ VanToll, উৎস

আপনার ফ্ল্যাশ ফাংশন থেকে অ্যানিমেশন ক্যুয়াকে ফেরত দিতে হবে। তারপর, আপনার জন্য-লুপে সব ফ্ল্যাশগুলি একত্রিত করার পরিবর্তে (বিটিভি: জন্য-মধ্যে- loops অ্যারে জন্য উপযুক্ত নয়), আপনি যে সারির উপর recursively ধাক্কা প্রয়োজন হবে আপনি কি .queue() এর সাথে চেষ্টা করেছেন?

0
যোগ