Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z getElementsByTagName
Forum PHP.pl > Forum > Po stronie przeglądarki > JavaScript
Ardo
Witam

mam taki problem chcialbym zamienic galerie IMG na galerie FLV - oglne dzialnie wyglada tak po nacinieciu obrazka zostaje utworzony IMG tak to teraz dziala a ja chce to zmienic teraz na takie dzialanie po nacisnieciu obrazka zostaje utworzony Object gdzie bedzie odtwarzany film

jak widac w tym przykladzie getElementsByTagName('IMG'); dotyczy Tag IMG chcilabym wykozystac to do Objectow dzieki ktoremu moglbym uzyc FLV tzn :getElementsByTagName('obejct'); czy jest taka mozliwosc?
tylko jest taka roznica miedzy IMG a OBJECT, IMG to jeden TAG za OBJECT posiada w sobie jescze paramtery <param>.


tylko jak to moge zrobic? ma kto jaks rade, sugestie

////////////////////////////////////////////////////////
function showPreview(newSrc,imageIndex)
{
if(!previewImage){
var images = document.getElementById('previewPane').getElementsByTagName('IMG');
if(images.length>0){
previewImage = images[0];
}else{
previewImage = document.createElement('IMG');
document.getElementById('previewPane').appendChild(previewImage);
}


}
if(displayWaitMessage){
document.getElementById('waitMessage').style.display='inline';
}
document.getElementById('largeImageCaption').style.display='none';
previewImage.onload = function() { hideWaitMessageAndShowCaption(imageIndex-1); };
previewImage.src = newSrc;

}
function hideWaitMessageAndShowCaption(imageIndex)
{
document.getElementById('waitMessage').style.display='none';
document.getElementById('largeImageCaption').innerHTML = imageGalleryCaptions[imageIndex];
document.getElementById('largeImageCaption').style.display='block';

}
////////////////////////////////////////////////////////
erix
Cytat
dotyczy Tag IMG chcilabym wykozystac to do Objectow dzieki ktoremu moglbym uzyc FLV tzn :getElementsByTagName('obejct'); czy jest taka mozliwosc?

A czemu tak kombinujesz? Prędzej przez tag OBJECT wyświetlisz obrazek.

Jeśli masz coś innego na myśli, to popracuj nad interpunkcją.
Ardo
Ja nie chce obrazka miec ja chce miec film, a sam OBJECT nie wystaraczy by uzyksac film. OBJECT posiada parametry.

mozna by bylo cos takiego napisac:
var pC0 = document.createElement("param");
pC0.setAttribute("name","movie");
pC0.setAttribute("value","flv/player.swf");

var pC1 = document.createElement("param");
pC1.setAttribute("name","flashvars");
pC1.setAttribute("value","file=newSrc");

previewImage = document.createElement("OBJECT");
previewImage.setAttribute("classid","clsid:D27CDB6E-AE6D-11cf-96B8-444553540000");
previewImage.setAttribute("type","application/x-java-applet");
previewImage.setAttribute("name","player");
previewImage.setAttribute("width","450");
previewImage.setAttribute("height","350");

previewImage.appendChild(pC0);
previewImage.appendChild(pC1);
document.getElementById('previewPane').appendChild(previewImage);

ale to nie dziala

Potrzebuje przyklad napisany w JacaScrypcie dla getElementsByTagName('OBJECT);



erix
A nie prościej użyć SWFObject? Tam możesz robić obiekty w locie, do tego bez względu na przeglądarkę.
Ardo

Ty chyba mowisz o innym temacje wiesz co to jest ?
- getElementsByTagName('OBJECT');
- appendChild()

ja mowie o oprogramowaniu a nie o wkladaniu flasha na strone.

tu masz przykladowy kodu jaki napisalem:
======================
var previewImage = false;
function showPreview(newSrc,imageIndex)
{
if(!previewImage){
var images = document.getElementById('previewPane').getElementsByTagName('OBJECT');
if(images.length>0){ previewImage = images[0]; }
else{
previewImage = document.createElement('OBJECT');
document.getElementById('previewPane').appendChild(previewImage);
//document.getElementById('previewPane').innerHTML = "ddd";
}

}

if(displayWaitMessage) { document.getElementById('waitMessage').style.display='inline'; }
document.getElementById('largeImageCaption').style.display='none';
previewImage.onload = function() { hideWaitMessageAndShowCaption(imageIndex-1); };
previewImage.src = newSrc;

}
////////////////////////////////
piszac "A nie prościej użyć SWFObject?" nie wiem oczym ty mowisz to sa 2 rozne sprawy SWFObject pomga jedyni przy umieszczaniu flasha na stronie a nie przy kodowaniu , ja mowie o oprogramowaniu a nie o umieszczaniu flasha na strone, ja mam namysli tworzenie obiektow w trakcie przyciskania obrazka w okreslonej warstwie, a nie o stalym kodzie typu SWFObject umieszonym na stale.

bo jesli bym chcial na stale wlozyc flasha to musialbym np 100 takich kodow wladowac na strone tylpu SWFObject a przy oprogramowaniu za pomoca javyscriptu wystaraczy 1 w tym jest roznica.

mam nadzieje ze juz wiesz po krotkim wyjasnieniu o co dokladnie mi chodzi.

dziekuje za zainteresowanie tym postem





erix
Cytat
flasha to musialbym np 100 takich kodow wladowac na strone tylpu SWFObject a przy oprogramowaniu za pomoca javyscriptu wystaraczy 1 w tym jest roznica.

Ja wiem, po co odsyłam Cię do SWFObject. Bo właśnie w nim osiągniesz też coś, co chcesz zrobić. Tylko że najpierw trzeba o nim POCZYTAĆ, nie? I nie wiem, skąd wytrzasnąłeś, że będziesz musiał duplikować to 100 razy...

Wstawienie każdego nowego obiektu, to linijka kodu, nawet w pętli na upartego ją umieścisz.
Ardo
OK TO MOZESZ MI NAPSIAC PRZYKLADOWY KOD
ZAMIAST TEGO :

var images = document.getElementById('previewPane').getElementsByTagName('OBJECT');

WYKOZYSTUJAC SWFObject.

uwzglednij ze wszytko ma sie wykonywac w okreslonej warstwie tak jak powyzej
erix
[JAVASCRIPT] pobierz, plaintext
  1. swfobject.embedSWF(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj, callbackFn)
[JAVASCRIPT] pobierz, plaintext


To jest kawałek z dokumentacji. Jeśli nadal nie wiesz, o co chodzi, odrób pracę domową.
Ardo
  1. swfobject.embedSWF(swfUrlStr, replaceElemIdStr, widthStr, heightStr, swfVersionStr, xiSwfUrlStr, flashvarsObj, parObj, attObj, callbackFn)
dalej nie wiesz oco mi chodzi
ja wiem dokldanie co do jest swfobject.embedSWF

tylko to co mi podales nic mi nie daje bo to sa tylko parametry. i do niczego to prowadzi.

jeszcze raz daje kod ktory napisalem :
======================
var previewImage = false;
function showPreview(newSrc,imageIndex)
{
if(!previewImage){
var images = document.getElementById('previewPane').getElementsByTagName('OBJECT');
if(images.length>0){ previewImage = images[0]; }
else{
previewImage = document.createElement('OBJECT');
document.getElementById('previewPane').appendChild(previewImage);
//document.getElementById('previewPane').innerHTML = "ddd";
}

}

if(displayWaitMessage) { document.getElementById('waitMessage').style.display='inline'; }
document.getElementById('largeImageCaption').style.display='none';
previewImage.onload = function() { hideWaitMessageAndShowCaption(imageIndex-1); };
previewImage.src = newSrc;

}
////////////////////////////////

wiesz co on przedstawia?
bo to co mi napisales nie ma nic do tego. swfobject.embedSWF to co napisales jest tylko wyswietlniem obiektu flash a to nie ma nic wposlnego ztym co chce.

potrafisz dostoswac ten kod co napisalem do swfobject.embedSWF bo uwazam ze to swfobject. nie ma nic wspolnego z ty co pisze. A MOZE SIE MYLE?

JESLI TAK TO NAPISZ MI KONRETNIE WYKOZYSTANIE swfobject.embedSWF W TYM CO CHCE BO NIC NIE DAJE



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.