Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Dubbio $(window).load

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    82

    Dubbio $(window).load

    Ciao a tutti,

    ho un dobbio; ho un file js in cui tramite $(window).load richiamo la funzione per rendere le immagini in scala di grigio.

    Premesso che le funzioni sono corrette vedo che se scrivo quanto segue non funziona una cippa

    codice:
    $(window).load(function(){
    
    ...
    
    });
    Mentre tutto funziona se scrivo

    codice:
    (function($) { 
    $(window).load(function(){
    
    ...
    
    });
    
    })(jQuery);

    A questo punto mi chiedo, che differenza c'è se metto (function($) { prima della chiamata $(window).load(function(){ ?

    Inoltr quel (jQuery); in chiusura per cosa starebbe? So cosa è JQuery, ma non capisco perché è li.

    Grazie a tutti!!

    [TrGh]
    [TrGh]

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    $(function()... è per scatenare la funzione/comando al caricamento della pagina
    $(window).load è per includere una pagina, alternativa ad una chiamata $ajax
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    82
    Ciao, grazie per la risposta!!

    un piccolo dubbio; $(window).load(function() { non era per eseguire del codice quando tutta la pagina era già caricata?

    Perché non basta quello per funzionare?

    Scusate le domande idiote

    [TrGh]
    [TrGh]

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    $(window).load e' sempre il buon vecchio window.onload
    quindi di norma dovrebbe funzionare

    mi viene il dubbio che sia proprio quel jQuery che passi alla funzione che faccia funzionare il tutto...
    hai altre librerie nello stesso documento?
    lascia un link

    $ non e' altro che un alias di jQuery, ma $ viene usato spesso anche da altre librerie
    per evitare fraintendimenti all' interno di quella funzione si puo' passare jQuery

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2001
    Messaggi
    82
    Ciao,

    grazie mille, allego direttamente il javascript. In questo file, come vedrete con window.load viene caricato anche Nivoslider e successivamente con window.ready isotope.

    E' un progettino in wordpress.

    codice:
    jQuery(window).load(function(JQuery) {
    
    	jQuery('#slider').nivoSlider({
    		directionNav: false,
    		controlNav: false
    	});
    	
    	// Apply grayscale functions
    	JQuery('article header img').each(function() {
    		JQuery(this).clone().addClass('colors').css('z-index', '10').insertBefore(this);
    		this.src = grayscale(this.src);
    	});
    	
    	// Hover function
    	JQuery('article header img').hover(
    		function() {
    			JQuery(this).stop().animate({"opacity": "0"}, "slow");
    		},
    		function() {
    			JQuery(this).stop().animate({"opacity": "1"}, "slow");
    		}
        );
    	
    });
    	
    jQuery(document).ready(function(JQuery){
    
    	// Start isotope
    	JQuery('#content').isotope( {
    		itemSelector : 'article'
    	});
    	
    	// Filter items when filter link is clicked
    	JQuery('#filters a').click(function(){
    		var selector = JQuery(this).attr('data-filter');
    		JQuery('#content').isotope({ filter: selector });
    		return false;
    	});
    	
    });
    
    //Grayscale function
    	function grayscale(src) {
    		//check if current browser supports canvas
    		var supportsCanvas = !!document.createElement('canvas').getContext;
    		if (supportsCanvas) {
    			var canvas = document.createElement('canvas'),
    			context = canvas.getContext('2d'), // use 2d
    			imageData, px, length, i = 0, gray,
    			
    			img = new Image();
    			img.src = src;
    			canvas.width = img.width;
    			canvas.height = img.height;
    			context.drawImage(img, 0, 0); // draw the img image starting top left in the canvas
    			imageData = context.getImageData(0, 0, canvas.width, canvas.height);
    			px = imageData.data;
            	length = px.length;
            	
            	for (; i < length; i += 4) {
    				gray = px[i] * .3 + px[i + 1] * .59 + px[i + 2] * .11;
    				px[i] = px[i + 1] = px[i + 2] = gray;
    			}
    			
    			context.putImageData(imageData, 0, 0);
            	return canvas.toDataURL();
    		}
    		else {
            	return src;
        	}
    	}
    Grazie mille a tutti

    [TrGh]
    [TrGh]

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.