Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    765

    [jquery] recuperare valore passato e matchato da funzione

    salve a tutti,

    devo recuperare il valore passato e matchato da una funzione di jquery.

    So che non avrete capito niente ma neanche io so spiegarlo bene..
    ecco un esempio di cosa voglio..

    codice:
    	jquery_sels = ".div1, .div2";
    
    	$(jquery_sels).each(function() {
    		var selected = $(this)// ??? dovrebbe restituirmi div1 o div2
    		var maxWidth = 150;
    		var maxHeight = 150;
    //la funzione continua
    in pratica io vorrei recuperare .div1 nel caso l'each passi .div1 o .div2 nel caso passasse .div2, in modo da impostare poi le variabili maxWidth e maxHeight di coseguenza....
    ora come faccio a recuperare il valore dell'argomento matchato?
    premetto che ho già provato, forse sbagliando, con get() e context...

    grazie delle eventuali risposte
    eXvision

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    sbagliero' ma non mi sembra ci sia modo piu' diretto che verificare che this abbia una di quelle classi e regolarsi di conseguenza

  3. #3
    Utente di HTML.it L'avatar di brodik
    Registrato dal
    Jan 2009
    Messaggi
    765
    temevo una risposta così

    il problema è che ho fatto l'esempio sbagliato, in quanto in realtà al posto di ".div1" e ".div2" ci sarebbero "div.imagebox img" e "div.partner img"...

    ecco il codice che uso:
    per ora ho risolto aggiungendo un ciclo for ed aggiungendo "parent_class" all'array, ma non è una soluzione che mi piace, in quanto potrei in futuro andare a aggiungere elementi che hanno una determinata classe o id e questo non andrebbe d'accordo con il $(this).parent() presente nel codice!

    era per questo motivo che cercavo qualche metodo per recuperare il valore matchato dall'each!
    codice:
    	var selectors = new Array();
    	var jquery_sels = "";
    	selectors["div.imgbox img"]= {"parent_class":"imgbox", "maxWidth":"150", "maxHeight":"150", "ratio":"1"};
    	selectors["div.partner img"]= {"parent_class":"partner", "maxWidth":"578", "maxHeight":"100", "ratio":"1"};
    	for(var sel in selectors){  
    		jquery_sels = sel+", "+jquery_sels;  
    	}
    	jquery_sels = jquery_sels.substr(0,jquery_sels.length-2);
    
    	$(jquery_sels).each(function(){
    
    		var maxWidth = 150;
    		var maxHeight = 150;
    		var ratio = 1;
    
    		for(var par in selectors){
    			if(selectors[par]["parent_class"] == $(this).parent().attr("class")){
    				maxWidth = selectors[par]["maxWidth"];
    				maxHeight = selectors[par]["maxHeight"];
    				ratio = selectors[par]["ratio"];
    			}
    		}
    
    		var width = $(this).width();
    		var height = $(this).height();
    //ecc ecc
    se avete soluzioni alternative proponete pure
    eXvision

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.