2012-05-29 16 views
91

सभी, मैंने प्रीबंडल जेएस/सीएसएस फॉर्म एप्लिकेशन डाउनलोड किया है और मैं इसे वर्डप्रेस में उपयोग करने की कोशिश कर रहा हूं।

$(document).ready(function() { 


/*----------------------------------------------------------------------*/ 
/* Parse the data from an data-attribute of DOM Elements 
/*----------------------------------------------------------------------*/ 


$.parseData = function (data, returnArray) { 
    if (/^\[(.*)\]$/.test(data)) { //array 
     data = data.substr(1, data.length - 2).split(','); 
    } 
    if (returnArray && !$.isArray(data) && data != null) { 
     data = Array(data); 
    } 
    return data; 
}; 

/*----------------------------------------------------------------------*/ 
/* Image Preloader 
/* http://engineeredweb.com/blog/09/12/preloading-images-jquery-and-javascript 
/*----------------------------------------------------------------------*/ 



// Arguments are image paths relative to the current page. 
$.preload = function() { 
    var cache = [], 
     args_len = arguments.length; 
    for (var i = args_len; i--;) { 
     var cacheImage = document.createElement('img'); 
     cacheImage.src = arguments[i]; 
     cache.push(cacheImage); 
    } 
}; 


/*----------------------------------------------------------------------*/ 
/* fadeInSlide by revaxarts.com 
/* Fades out a box and slide it up before it will get removed 
/*----------------------------------------------------------------------*/ 


$.fn.fadeInSlide = function (speed, callback) { 
    if ($.isFunction(speed)) callback = speed; 
    if (!speed) speed = 200; 
    if (!callback) callback = function() {}; 
    this.each(function() { 

     var $this = $(this); 
     $this.fadeTo(speed/2, 1).slideDown(speed/2, function() { 
      callback(); 
     }); 
    }); 
    return this; 
}; 


/*----------------------------------------------------------------------*/ 
/* fadeOutSlide by revaxarts.com 
/* Fades out a box and slide it up before it will get removed 
/*----------------------------------------------------------------------*/ 


$.fn.fadeOutSlide = function (speed, callback) { 
    if ($.isFunction(speed)) callback = speed; 
    if (!speed) speed = 200; 
    if (!callback) callback = function() {}; 
    this.each(function() { 

     var $this = $(this); 
     $this.fadeTo(speed/2, 0).slideUp(speed/2, function() { 
      $this.remove(); 
      callback(); 
     }); 
    }); 
    return this; 
}; 

/*----------------------------------------------------------------------*/ 
/* textFadeOut by revaxarts.com 
/* Fades out a box and slide it up before it will get removed 
/*----------------------------------------------------------------------*/ 


$.fn.textFadeOut = function (text, delay, callback) { 
    if (!text) return false; 
    if ($.isFunction(delay)) callback = delay; 
    if (!delay) delay = 2000; 
    if (!callback) callback = function() {}; 
    this.each(function() { 

     var $this = $(this); 
     $this.stop().text(text).show().delay(delay).fadeOut(1000,function(){ 
      $this.text('').show(); 
      callback(); 
     }) 
    }); 
    return this; 
}; 

/*----------------------------------------------------------------------*/ 
/* leadingZero by revaxarts.com 
/* adds a leding zero if necessary 
/*----------------------------------------------------------------------*/ 


$.leadingZero = function (value) { 
    value = parseInt(value, 10); 
    if(!isNaN(value)) { 
     (value < 10) ? value = '0' + value : value; 
    } 
    return value; 
}; 


}); 

मैं यह सोचते गया था कि Wordpress कोई विवाद तो मैं बहुत पिछले ब्रैकेट निम्नलिखित की तरह लग रहे करने के लिए अद्यतन एक मुद्दा पैदा कर रहा था:

}, "jQuery"); 

हालांकि, मैं मैं निम्नलिखित कोड मिल गया है मुझे अभी भी एक ही त्रुटि मिल रही है। क्या किसी को पता है कि इस मुद्दे का क्या कारण होगा और इसे कैसे हल किया जाए?

अग्रिम धन्यवाद!

उत्तर

261

यह एक वाक्यविन्यास मुद्दा है, jQuery लाइब्रेरी वर्डप्रेस लोड के साथ "कोई संघर्ष नहीं" मोड में शामिल है। यह अन्य जावास्क्रिप्ट पुस्तकालयों के साथ संगतता समस्याओं को रोकने के लिए है जो वर्डप्रेस लोड कर सकते हैं। "नहीं-confict" मोड में, $ शॉर्टकट उपलब्ध नहीं है, और लंबे समय तक jQuery प्रयोग किया जाता है अर्थात

jQuery(document).ready(function ($) { 

कोष्टक में $ सहित फ़ंक्शन को कॉल करने के बाद आप तो कोड ब्लॉक के भीतर इस शॉर्टकट का उपयोग कर सकते हैं।

के लिए पूरा विवरण देखने WordPress Codex

+0

मुझे आपको – RedEyedMonster

+3

पर "jQuery" को खोने की आवश्यकता है, आप इस तरह के जीवन बचा रहे हैं !!! डिबगिंग के 3 दिनों के बाद, मैंने पाया कि यह मेरे मुद्दे के लिए सही समाधान था। हालांकि वर्डप्रेस jQuery फ़ाइल लोड कर रहा था, मैं तैयार दस्तावेज़ में उल्लिखित fucntions तक नहीं पहुंच सका। तो कोड की यह सटीक रेखा अर्थात 'jQuery (दस्तावेज़) .ready (फ़ंक्शन ($) {'इसे ठीक करने के लिए तय किया गया है। धन्यवाद साझा करने के लिए एक टन। – Devner

+2

यह ड्रूपल में भी यही समस्या है। समाधान भी वहां काम करता है। धन्यवाद – nextgtech

33

मेरा पसंदीदा नहीं-संघर्ष के अनुकूल निर्माण:

jQuery(function($) { 
    // ... 
}); 

एक समारोह सूचक के साथ jQuery कॉलिंग के लिए $ (document) .ready (...)

या एक शॉर्टकट है हम में कहते हैं के रूप में कॉफ़ीस्क्रिप्ट:

jQuery ($) -> 
    # code here 
+0

यदि '$' पहले से ही एक jquery उदाहरण है - 'jQuery' पास करने का कोई कारण है और इसे फिर से '$' नाम दें? – zerkms

+2

$ एक jQuery उदाहरण नहीं हो सकता है अगर यह किसी अन्य लाइब्रेरी के साथ विवादित है - नो-टकराव मोड। – Julian

+4

यह '$ (दस्तावेज़) .ready()', '$ (दस्तावेज़) नहीं है।' ('लोड') ' –

-1

हो सकता है आप jQuery से पहले इस तरह कोड है:

var $jq=jQuery.noConflict(); 
$jq('ul.menu').lavaLamp({ 
    fx: "backout", 
    speed: 700 
}); 

और उन्हें संघर्ष

था आप (jQuery) के लिए $ बदल सकते हैं

+1

मैंने इसे 'var $ = jQuery.noConflict() की तरह इस्तेमाल किया;' मेरा जावा-वेबपैप सेटअप था, लेकिन मुझे एक ही त्रुटि मिली! –

5

वर्डप्रेस में बस

को प्रतिस्थापित करें साथ

jQuery(function(){...}); 
1

आप विषय functions.php फ़ाइल में निम्नलिखित की तरह कुछ जोड़कर Google लाइब्रेरी के साथ डिफ़ॉल्ट वर्डप्रेस jQuery स्क्रिप्ट को बदलने के लिए विचार कर सकते हैं:

function modify_jquery() { 
    if (!is_admin()) { 
     wp_deregister_script('jquery'); 
     wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js', false, '1.10.2'); 
     wp_enqueue_script('jquery'); 
    } 
} 
add_action('init', 'modify_jquery'); 

कोड यहाँ से लिया: http://www.wpbeginner.com/wp-themes/replace-default-wordpress-jquery-script-with-google-library/

+0

यदि आप WP के बाहर "बाहरी" JQuery प्लगइन का उपयोग कर रहे हैं तो सबसे अच्छा समाधान डाउनसाइड: - हो सकता है - कुछ वर्डप्रेस प्लगइन्स के साथ संघर्ष - मेरी तरफ से कुछ भी नहीं देखा – RunsnbunsN

संबंधित मुद्दे