Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema
Insta360 Luna Ultra integra un sensore da 1 pollice 8K, ottiche Leica e triplo chip IA. Tra schermo OLED rimovibile, workflow I-Log a 10 bit e stabilizzazione a tre assi, analizziamo le doti tecniche di una gimbal camera pensata per i professionisti
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 26-03-2013, 22:32   #1
Baio84
Member
 
Iscritto dal: Apr 2012
Messaggi: 56
[CSS+JQUERY]Aiuto gallery

Sto cercando di crearmi la mia gallery animata. So che ce ne sono già di compilate con jQuery, ma siccome mi sono appena approcciato a questo linguaggio, voglio prendere un po' di dimestichezza.
Ho abbozzato una gallery. In pratica sotto l'immagine ingrandita ci sono tutte le immagini più piccole che, se ci si passa su il mouse, si ingrandiscono un po'. Se cliccata, apre l'immagine. Il mio è più un problema CSS. Quando passo il mouse sull'immagine piccola, voglio che si ingrandisca e che l'immagine così ingrandita salga sopra a quelle vicine (quindi utilizzo z-index). Il problema è che quando si ingrandisce, l'immagine di destra si sposta verso destra e non rimane ferma.

HTML
Codice HTML:
<!DOCTYPE html>
<html>

<head>
	<link type="text/css" rel="stylesheet" href="prove.css" media="all" />
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<script type="text/javascript" src="jquery-1.9.1.js"></script>
	<script type="text/javascript">
	$(document).ready(
			$("#scorrimento img").click(function() {
				$("#scorrimento img").css("width", "50px");
				$(this).css("width", "100px");
				var immag = $(this).attr("src");
				$("#slide img:first").attr("src", "bis"+immag);
			});

			$("#scorrimento img").mouseenter(function() {
				$(this).stop();
				$(this).css({"position":"relative", "z-index":"1"});
				$(this).animate({width:'100px', marginTop:'0', right:'25px'}, 500);
			});

			$("#scorrimento img").mouseleave(function() {
				$(this).stop()
				$(this).animate({width:'50px', marginTop:'19px', right:''}, 500);
				$(this).css({"z-index":"", "position":""});
			});
		});
	</script>
</head>

<body>

	<div id="contenitore">
		<div id="slide">
			<img src="IMMAGINE1GRANDE.jpg">
			<br /><br />
			&lt;
			<div id="scorrimento">
				<img src="IMMAGINE1PICCOLA.jpg">
				<img src="IMMAGINE2PICCOLA.jpg">
				<img src="IMMAGINE3PICCOLA.jpg">
				<img src="IMMAGINE4PICCOLA.jpg">
			</div>
			&gt;
			<br /><br />
		</div>
	</div><!--CONTENITORE-->

</body>

</html>
CSS
Codice:
/* RESET */
div {
	margin: 0;
	padding: 0;
}

/* GENERALE */
div#contenitore {
	width: 1000px;
	height: 500px;
	margin: 0 auto;
}

/* SLIDE */
div#slide {
	width: 800px;
	height: 500px;
	background: #888EEE;
	margin: 0 auto;
	text-align: center;
}
div#slide img {
	width: 500px;
}
div#scorrimento {
	height: 75px;
	padding-left: 220px;
	padding-right: 220px;
	display: inline-block;
	background-color: #333;
}
div#scorrimento img {
	width: 50px;
	margin-top: 19px;
	margin-right: 1px;
	float: left;
}
Baio84 è offline   Rispondi citando il messaggio o parte di esso
Old 27-03-2013, 20:31   #2
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
Visto che mi sembra che sei già pratico provo a spiegarti la soluzione senza scriverti il codice.
Perché le immagini a destra si spostano quando una a sinistra cambia dimensione? Perché la loro posizione dipende da quello che c'è alla loro sinistra.
Quindi per non farle spostare io farei così:
metti tutte le immagini dentro a dei contenitori, ad esempio dei div, uno per ogni immagine. Dai ai div la stessa dimensione delle immagini e li metti in float e con position relative. Praticamente i div prendono il posto delle immagini che a loro volta finiscono al loro interno.
Infine le immagini, che ora sono dentro ai div, le posizioni in modo assoluto: in questo modo anche se la loro dimensione cambia, i contenitori restano invariati.
wingman87 è offline   Rispondi citando il messaggio o parte di esso
Old 28-03-2013, 08:54   #3
Baio84
Member
 
Iscritto dal: Apr 2012
Messaggi: 56
Ti ringrazio. Appena ho tempo provo subito.
E' un'intuizione che è venuta anche a me, perchè guardando qualche sito ho notato che tanti usano le liste (ul, li) per questo genere di cose. Molto probabilmente lo stesso discorso che mi proponi tu con i div, vale anche per questi

EDIT: Dunque, la strada è sicuramente quella giusta, però, quando vado sopra ad ogni immagine per la prima volta, l'immagine mi fa un piccolo scattino a sinistra e poi si allarga. Una volta fatto per ogni immagine, poi ottengo l'effetto desiderato (succede sia coi div che con le liste).

EDIT2: Trovata l'incongruenza. Non so perchè, ma se nel CSS imposto alle immagini position:absolute, quando le visualizzo me le sposta a destra di qualche pixel. Ho risolto facendo impostare position:absolute tramite jQuery

Ultima modifica di Baio84 : 28-03-2013 alle 14:19.
Baio84 è offline   Rispondi citando il messaggio o parte di esso
Old 28-03-2013, 15:00   #4
Baio84
Member
 
Iscritto dal: Apr 2012
Messaggi: 56
Ora ho notato un'altra cosa. Quando vado sopra l'immagine, grazie a jQuery modifico width, top e right, per ottenere che si allarghi dando l'effetto che si allarghi dal centro. Però quando esco dall'immagine, non mi dà lo stesso effetto, ma prima mi riposiziona l'immagine nella sua posizione originale, e poi me la rimpicciolisce.
Può essere un'altra incongruenza HTML o un errore di sintassi in jQuery?
Baio84 è offline   Rispondi citando il messaggio o parte di esso
Old 05-04-2013, 18:13   #5
Baio84
Member
 
Iscritto dal: Apr 2012
Messaggi: 56
Con questo link penso che spieghi meglio il mio post precedente, in più ho un altro quesito: quando vado ad ingrandire la prima o la terza immagine visibili, L'immagine si ingrandisce ma per colpa dell'overflow:hidden del div, non me la fa vedere tutta, anche se l'immagine ha uno z-index superiore. C'è soluzione a questo problema?

http://www.gbunited.it/test/gallery.html

PS: Spero sia possibile postare un link di esempio
Baio84 è offline   Rispondi citando il messaggio o parte di esso
Old 05-04-2013, 20:56   #6
wingman87
Senior Member
 
Iscritto dal: Nov 2005
Messaggi: 2794
Quote:
Ora ho notato un'altra cosa. Quando vado sopra l'immagine, grazie a jQuery modifico width, top e right, per ottenere che si allarghi dando l'effetto che si allarghi dal centro. Però quando esco dall'immagine, non mi dà lo stesso effetto, ma prima mi riposiziona l'immagine nella sua posizione originale, e poi me la rimpicciolisce.
Penso sia dovuto al fatto che hai tolto position:absolute
Codice:
$(".anteprima").hover(
	function() {
		$(this).stop();
		$(this).css({"z-index":"10000", "position":"absolute"});
		$(this).animate({width:'100px', right:'-25px', top:'-19px'}, 400);
	},

	function() {
		$(this).stop()
		$(this).animate({right:'0', top:'0', width:'50px'}, 400);
		$(this).css({"z-index":"", "position":""});
	}
);
In sostanza dall'inizio alla fine dell'animazione di zoom position è absolute, mentre nell'animazione di de-zoom è static dall'inizio alla fine.

Quote:
Con questo link penso che spieghi meglio il mio post precedente, in più ho un altro quesito: quando vado ad ingrandire la prima o la terza immagine visibili, L'immagine si ingrandisce ma per colpa dell'overflow:hidden del div, non me la fa vedere tutta, anche se l'immagine ha uno z-index superiore. C'è soluzione a questo problema?
Penso che per risolvere questo problema sia necessario modificare un po' l'interfaccia...
wingman87 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Insta360 Luna Ultra: la potenza del sensore da 1 pollice incontra la portabilità estrema Insta360 Luna Ultra: la potenza del sensore da 1...
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Googlebook pronto al debutto: Google apr...
Guida all'acquisto: quale lavapavimenti ...
Google Maps su Android Auto introduce fi...
AMD Ryzen 5 5500F: fino al 16% di presta...
L'ecosistema partner di Microsoft cresce...
Oracle registra un boom nella divisione ...
Amazon Prime Video sfida TikTok con le n...
L'uscita di Rayman Legends Retold &egrav...
Dazio UE sui pacchi extra UE, in Italia ...
La nuova lavatrice smart di Xiaomi ha tr...
Hai una PSP nel cassetto? Questo nuovo p...
Oracle presenta Java 27 con diverse novi...
Il microscopio dell'EPFL vede più...
Volvo avvia la produzione dei nuovi cami...
26 offerte Amazon da non perdere, da iPh...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 17:47.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v