intro.php 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. <?php
  2. ?>
  3. <div class="col-md-10 col-md-offset-1">
  4. <h1>
  5. Cómo Funciona jQuery
  6. </h1>
  7. <h3 class="title-tutorial">Lo básico</h3>
  8. <p>Esto es un pequeño tutorial hecho para ayudarte a empezar usando jQuery.
  9. A continuación descárgate el archivo de jQuery de la pápgina oficial y
  10. crea una página html si no la tienes ya.
  11. </p>
  12. <br>
  13. <pre>
  14. <code>
  15. &lt;!DOCTYPE html&gt;
  16. &lt;html&gt;
  17. &lt;head&gt;
  18. &lt;meta charset="utf-8"&gt;
  19. &lt;title&gt;Demo&lt;/title&gt;
  20. &lt;script src="jquery.js"&gt;&lt;/script&gt;
  21. &lt;script&gt;
  22. //Todo el código aquí
  23. &lt;/script&gt;
  24. &lt;/head&gt;
  25. &lt;body&gt;
  26. &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt;
  27. &lt;/body&gt;
  28. &lt;/html&gt;
  29. </code>
  30. </pre>
  31. <br>
  32. <p>El atributo src en el script debe de apuntar a un archivo jQuery, ya sea los
  33. que están en internet o una copia que se haya descargado de la página de jQuery.
  34. </p>
  35. <br>
  36. <h3 class="title-tutorial">$(document).ready</h3>
  37. <p>Para asegurarse que el navegador ha cargado el document antes de lanzar el código, una buena práctica es encapsular el código en una función onload. </p>
  38. <br>
  39. <pre>
  40. <code>
  41. window.onload = function() {
  42. alert( "Bienvenido" );
  43. };
  44. </code>
  45. </pre>
  46. <br>
  47. <p>Pero este código no empieza hasta que todas las imágenes están cargadas, incluidos
  48. banners. Para cargar el código tan pronto como el document está listo se usa
  49. la sentencia de jQuery más famosa.</p>
  50. <br>
  51. <pre>
  52. <code>
  53. $( document ).ready(function() {
  54. // Your code here.
  55. });
  56. </code>
  57. </pre>
  58. <br>
  59. <p>Dentro puedes poner el código que quieras</p>
  60. <button id="bienvenido">Bienvenido</button>
  61. <br>
  62. <pre>
  63. <code>
  64. $( document ).ready(function() {
  65. $( "#bienvenido" ).click(function() {
  66. alert( "Bienvenido a jQuery" );
  67. });
  68. });
  69. </code>
  70. </pre>
  71. <br>
  72. <h4>Abreviando $(document).ready</h4>
  73. <p>
  74. Los desarrolladores experimentados a veces utilizan la abreviatura $() para $(document).ready().
  75. Si se está escribiendo código para personas sin
  76. experiencia con jQuery, lo mejor es usar la sintaxis larga.
  77. </p>
  78. <button id="bienvenido2">Bienvenido</button>
  79. <br>
  80. <pre>
  81. <code>
  82. $(function() {
  83. $("#bienvenido2").click(function() {
  84. alert("Has usado la versión corta de document.ready");
  85. });
  86. });
  87. </code>
  88. </pre>
  89. <br>
  90. <h3 class="title-tutorial">El Objeto $()</h3>
  91. <p>La estructura básica de cualquier sentencia en JQuery es la siguiente.</p>
  92. <br>
  93. <pre><code>
  94. $(objeto).(metodo);
  95. </code></pre><br>
  96. <p>La función más importante de JQuery es la función $(), con ella podemos crear
  97. un objeto JQuery a partir de cualquier elemento del árbol DOM. Una vez hemos
  98. transformado un nodo del árbol DOM en un objeto JQuery podremos utilizar
  99. "todos" los métodos definidos en la librería JQuery</p>
  100. <ul>
  101. <li>$("#id_name") crea un objeto jQuery con el que manipular el elemento
  102. con el id "id_name".</li>
  103. <li>$(".class_name") crea un objeto jQuery con el que manipular los elementos
  104. con la clase "class_name".</li>
  105. <li>$("element") crea un objeto jQuery con el que manipular los elementos
  106. seleccionados.</li>
  107. </ul>
  108. <br>
  109. <pre><code>
  110. &lt;div id="id_name"&gt;
  111. &lt;div&gt;Suárez&lt;/div&gt;
  112. &lt;div class="class_name"&gt;Barcelona &lt;/div&gt;
  113. &lt;div class="class_name"&gt;Delantero &lt;/div&gt;
  114. &lt;/div&gt;
  115. </code></pre><br>
  116. <div id="id_name">
  117. <div>Suárez</div>
  118. <div class="class_name">Barcelona</div>
  119. <div class="class_name">Delantero</div>
  120. </div>
  121. <button id="llamar_id">Llamar a id</button>
  122. <button id="llamar_class">Llamar a clase</button>
  123. <br>
  124. <pre><code>
  125. $(function() {
  126. $("#llamar_id").click(function() {
  127. $(".class_name").css( "background-color", "transparent");
  128. $("#id_name").css( "background-color", "red");
  129. });
  130. $("#llamar_class").click(function() {
  131. $("#id_name").css( "background-color", "transparent");
  132. $(".class_name").css( "background-color", "red");
  133. });
  134. });
  135. </code></pre><br>
  136. <h3 class="title-tutorial">$ vs $()</h3>
  137. <p>Por ahora solo habremos visto métodos que son llamados como un objeto jQuery. Por ejemplo:</p><br>
  138. <pre><code>
  139. $( "h1" ).remove();
  140. </code></pre><br>
  141. <p>
  142. La mayoría de métodos de jQuery son llamados como objetos en jQuery como se muestra
  143. arriba. Estos métodos se dice que son parte del espacio de nombres $.fn (son las funciones
  144. que se usan como $(elemento).(metodo)), o del “jQuery
  145. prototype”, y es mejor pensar en ellos como métodos objeto de jQuery.</p>
  146. <p>
  147. También existen otros tipos de métodos que no actúan como una selección; estos
  148. métodos son parte del espacio de nombres de jQuery y es mejor pensar en ellos como métodos
  149. del núcleo de jQuery. Son llamados como $.metodo().
  150. Esta distinción puede ser muy confusa para usuarios nuevos de jQuery, pero solo
  151. debes de recordar:</p>
  152. <ul>
  153. <li>Los métodos llamados como objetos en jQuery son parte del espacio de nombres $.fn y
  154. automáticamente reciben y devuelven la selección como “this”.</li>
  155. <li>Los métodos en el namespace “$” son generalmente métodos de
  156. <a href="https://learn.jquery.com/using-jquery-core/utility-methods/">“utility-type”</a>
  157. y no funcionan con “selecciones”; No se pasan automáticamente como argumentos
  158. y el valor devuelto puede variar.</li>
  159. </ul>
  160. <pre><code>
  161. //Método del espacio de nombres de $.fn
  162. $("h1").click(function() {
  163. $(this).remove();
  164. });
  165. //Método del espacio de nombres de $
  166. //Este método elimina los espacios en blanco
  167. $.trim( " lots of extra whitespace " );
  168. //Devuelva el index del valor encontrado en un array o si no devuelve -1
  169. var myArray = [ 1, 2, 3, 5 ];
  170. if ( $.inArray( 4, myArray ) !== -1 ) {
  171. alert( "Encontrado!" );
  172. }
  173. </code></pre><br>
  174. <h4>¿Cómo saber si un selector contiene un elemento?</h4>
  175. <p>Para comprobar si un selector tiene algún elemento lo mejor es usar la propiedad ".length".
  176. Esta propiedad dice cuantos elementos se han seleccionado.
  177. Si la respuesta es 0, la propiedad “.length” lo evaluará como “false” y será usado como un valor booleano.</p>
  178. <br>
  179. <pre>
  180. <code>
  181. if ( $( "div.foo" ).length ) {
  182. ...
  183. }
  184. </code>
  185. </pre>
  186. <br>
  187. <h3 class="title-tutorial">Añadir o eliminar una clase</h3>
  188. Una tarea bastante básica es añadir o eliminar una clase de un elemento.
  189. Para hacerlo solamente debemos de utilizar el método addClass() o removeClass().
  190. <br><br>
  191. <pre>
  192. <code>
  193. $( "a" ).addClass( "test" );
  194. $( "a" ).removeClass( "test" );
  195. </code>
  196. </pre>
  197. <br>
  198. <h3 class="title-tutorial">Efectos especiales</h3>
  199. <p>jQuery también puede crear algunos efectos para lucir tu web. Por ejemplo este para esconder un elemento.</p>
  200. <br>
  201. <pre>
  202. <code>
  203. $( "p" ).click(function( event ) {
  204. $( this ).hide( "slow" );
  205. });
  206. </code>
  207. </pre>
  208. <br>
  209. <p>El enlace se esconde lentamente cuando es pulsado.</p>
  210. <h3 class="title-tutorial">Callbacks</h3>
  211. <p>Callback es una función que es pasada como argumento a otra función y es
  212. ejecutada después de que la función padre haya sido completada. Las funciones
  213. Callbacks son especiales debido a que esperan pacientemente a ser ejecutadas hasta
  214. que su padre finaliza.
  215. Para utilizar callbacks, es importante saber cómo realizarlo.</p>
  216. <p id="parraHide">Este párrafo tiene un callback</p>
  217. <button id="callback">Pulsa Callback</button>
  218. <br>
  219. <br>
  220. <pre>
  221. <code>
  222. $("#callback").click(function(){
  223. $("#parraHide").hide("slow", function(){
  224. alert("El párrafo esta escondido");
  225. });
  226. });
  227. </code>
  228. </pre>
  229. <br>
  230. <p>
  231. Cuando $("#parraHide") termina de esconderse se ejecuta la función con un alert().
  232. </p>
  233. <br>
  234. <h3>Evitar conflictos con otras librerías</h3>
  235. <p>
  236. La biblioteca jQuery y prácticamente todos sus complementos están contenidos
  237. dentro del espacio de nombres jQuery. Como regla general, los objetos globales
  238. también se almacenan dentro del espacio de nombres jQuery, por lo que no debería
  239. tener un choque entre jQuery y cualquier otra biblioteca (como prototype.js,
  240. MooTools o YUI).
  241. <br>
  242. Dicho esto, hay una advertencia: por defecto, jQuery utiliza $ como un acceso
  243. directo para jQuery. Por lo tanto, si está utilizando otra biblioteca de
  244. JavaScript que utiliza la variable $, puede ejecutar conflictos con jQuery.
  245. Con el fin de evitar estos conflictos, es necesario poner jQuery en modo de
  246. no conflicto inmediatamente después de que se carga en la página y antes de
  247. intentar utilizar jQuery en su página.
  248. </p>
  249. <br>
  250. <pre>
  251. <code>
  252. &lt;!-- Pones jQuery en modo no conflicto. --&gt;
  253. &lt;script src="prototype.js"&gt;&lt;/script&gt;
  254. &lt;script src="jquery.js"&gt;&lt;/script&gt;
  255. &lt;script&gt;
  256. var $j = jQuery.noConflict();
  257. // $j es ahora el nuevo alias para la función jQuery, esto es opcional.
  258. $j(document).ready(function() {
  259. $j( "div" ).hide();
  260. });
  261. &lt;/script&gt;
  262. </code>
  263. </pre>
  264. <br>
  265. </div>
  266. <script src="../jQueryProject/assets/js/intro.js"></script>