Sunday, December 7, 2014

Different ways to call JQuery Document Ready functions

These are the different types of Document Ready functions typically used in jQuery (aka jQuery DOM Ready). A lot of developers seem to use them without really knowing why. So I will try to explain why you might choose one version over another. Think of the document ready function as a self-executing function which fires after the page elements have loaded.
See Where to Declare Your jQuery Functions for more information on how to use the Document Ready Functions.

Document Ready Example 1

1
2
3
$(document).ready(function() {
    //do jQuery stuff when DOM is ready
});

Document Ready Example 2

1
2
3
$(function(){
    //jQuery code here
});
This is equivalent to example 1… they literally mean the same thing.

Document Ready Example 3

1
2
3
jQuery(document).ready(function($) {
    //do jQuery stuff when DOM is ready
});
Adding the jQuery can help prevent conflicts with other JS frameworks.
Why do conflicts happen?
Conflicts typically happen because many JavaScript Libraries/Frameworks use the same shortcut
name which is the dollar symbol $. Then if they have the same named functions the browser gets
confused!
How do we prevent conflicts?
Well, to prevent conflicts i recommend aliasing the jQuery namespace (ie by using example 3 above).
Then when you call $.noConflict() to avoid namespace difficulties (as the $ shortcut is no longer available)
we are forcing it to wrtie jQuery each time it is required.
1
2
3
4
5
6
7
8
9
10
jQuery.noConflict(); // Reverts '$' variable back to other JS libraries
jQuery(document).ready( function(){
         //do jQuery stuff when DOM is ready with no conflicts
   }); 
 
//or the self executing function way
 jQuery.noConflict();
 (function($) {
    // code using $ as alias to jQuery
})(jQuery);

Document Ready Example 4

1
2
3
4
5
6
7
(function($) {
    // code using $ as alias to jQuery
  $(function() {
    // more code using $ as alias to jQuery
  });
})(jQuery);
// other code using $ as an alias to the other library
This way you can embed a function inside a function that both use the $ as a jQuery alias.

Document Ready Example 5

1
2
3
$(window).load(function(){ 
     //initialize after images are loaded 
}); 
Sometimes you want to manipulate pictures and with $(document).ready() you won’t be able to do that
if the visitor doesn’t have the image already loaded. In which case you need to initialize the
jQuery alignment function when the image finishes loading.

Thursday, November 6, 2014

how to Update XAMPP in Windows 7 or others

To update XAMPP in Windows. Please follow these steps.
  1. Download the latest version of XAMPP
  2. Now backup your existing “htdocs” folder.
  3. Backup your existing “data” folder, which is inside the mysql folder.
  4. Over-right all the files of existing “xampp” folder with the latest version of “xampp”
  5. If you have installed the installer version of XAMPP then just download the latest installer version of XAMPP and just install the latest version on the same location so it overwrites the existing files.
  6. After overwriting all the files run “setup_xampp.bat“, which is inside the “xampp” folder.
  7. Copy all your sites folder back to “htdocs” folder.
  8. Copy your old “data” folder and paste it inside the “mysql” folder
  9. Now fire up Apache and MySQL
  10. Visit your sites.
  11. If you can visit you sites then its done. But sites that uses MySQL database might cause some problem if you used any other user name and password other than the default xampp password. In that case follow on.
  12. Visit “phpMyAdmin” from http://localhost/phpmyadmin
  13. Press the “Privileges” tab, here if you used “root” user with a password then change the passwords for bothroot at localhost and 127.0.0.1
  14. If you used a different user name and password all together then create the new user using your old details that you used on your previous XAMPP installation.
  15. Now you should be able to visit your sites that uses MySQL database. eg: Joomla, wordperss etc
  16. Remember if you change the root users passwords then phpMyAdmin will not be able to connect to theMySQL database until you change the phpMyAdmin configuration.
  17. To change phpMyAdmin configuration goto (using file explorer not your browser) “xampp/phpMyAdmin” and open “config.inc.php
  18. On line 21 of “config.inc.php” type the root users password. eg:$cfg['Servers'][$i]['password'] = ‘root_users_password‘;
  19. If you want then you can change the user name too, in that case you will have provide that users password.
If you have followed my instructions then you should have a functioning XAMPPP with no issues. If you do face any problem then please leave a comment and I will do my best to get back to you.