Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: img resize
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
deniol13
Cytat
function addEvent( obj, type, fn ) {
if ( obj.attachEvent ) {
obj['e'+type+fn] = fn;
obj[type+fn] = function(){obj['e'+type+fn]( window.event );}
obj.attachEvent( 'on'+type, obj[type+fn] );
} else
obj.addEventListener( type, fn, false );
}

function resizeImg( handle )
{
var orig_x = handle.width;
var orig_y = handle.height;

if( handle.width > 600 )
{
handle.width = 600;
addEvent( this, 'click', function() { window.open( handle.src, handle.src,"location=1,status=1,scrollbars=1,width=100,height=100" ); } );
handle.className = 'img_resized';
}
}


mam taki kod, dziala a stosuje go tak
Cytat
onClick="resizeImg( this );"


po kliknieciu w obrazek, otwiera mi wszystkie ktore ulegly resizeowi


nie wazne gdzie klikne, i tak sie wszystkie otworza sad.gif
kamil4u
Wspaniałe pytanie... - pisz tak, żeby nie trzeba było się domyślać...
Wszystko przez to, że this odnosi się w tym momencie do window, a nie do odpowiedniego elementu.
Najłatwiej, jak zmienisz atrybut onClick np. na -> onclick = function(){ funkcja(); } lub używając odpowiedniej funkcji(tą, którą napisałeś wcześniej)

Hmmm.. w sumie to możesz zrobić to łatwiej:
Kod
addEvent( this, 'click', function() { window.open( handle.src, handle.src,"location=1,status=1,scrollbars=1,width=100,height=100" ); } );
->
Kod
addEvent( handle, 'click', function() { window.open( handle.src, handle.src,"location=1,status=1,scrollbars=1,width=100,height=100" ); } );
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.