Avatar billede superraider Nybegynder
21. januar 2006 - 03:13 Der er 11 kommentarer

billede vil ikke vises

<div id='SNSCHIDDEN' style='visibility:hidden;position:absolute'>
hej
</div>

<script language="javascript" type="text/javascript">
var arrDiv = document.getElementsByTagName("div");
for(var i=0; i < arrDiv.length; i++) {
  if(arrDiv[i].id.indexOf('SNSCHIDDEN') != -1) {
    var obj = arrDiv[i];
    obj.style.visibility = "visible";
    obj.style.position = "relative";
  }
}
</script>

ovenstående virker som det skal. Men så snart jeg smider et billede ind istedet for hej

<div id='SNSCHIDDEN' style='visibility:hidden;position:absolute'>
<img src="">
</div>

så kan den ikke finde ud af det. der hvor billedet skulle være, der rykker alt andet sig så der er plads til billedet, og så når jeg  markere der hvor den er så markere den også en firkant med størrelse af billedet, men det vises bare ik.
Avatar billede roenving Novice
21. januar 2006 - 03:16 #1
Kan du vise et eksempel (læg et link !-)
Avatar billede softspot Forsker
21. januar 2006 - 03:17 #2
Det er fordi du skal benytte display:none i stedet for visibility:hidden. display:none efterlader ikke plads i browseren til elementet.


<div id='SNSCHIDDEN' style='display:none;position:absolute'>
<img src="">
</div>

<script language="javascript" type="text/javascript">
var arrDiv = document.getElementsByTagName("div");
for(var i=0; i < arrDiv.length; i++) {
  if(arrDiv[i].id.indexOf('SNSCHIDDEN') != -1) {
    var obj = arrDiv[i];
    obj.style.display = "block";
    obj.style.position = "relative";
  }
}
</script>
Avatar billede superraider Nybegynder
21. januar 2006 - 03:29 #3
soft du misforstår-
http://www.s-web.dk/borked/Default.asp

neders i den nyeste news der er der gemt et billed, som det skal. når man så trykker på overskriften "Times passes, waiting for AQ to open." så skal den vise det der er hidden.


soft problemet er ikke at den optager en plads når den er gemt, problemer når den sættes til obj.style.visibility = "visible"; så vises <img> ikke inden i <div> men hej gør.  se link og tyk på overskrift på den øverste news
Avatar billede superraider Nybegynder
21. januar 2006 - 03:29 #4
har prøvet med none og blok, det virkede ik
Avatar billede softspot Forsker
21. januar 2006 - 04:22 #5
Det kan godt være jeg spørger dumt, men hvorfor sætter du position til absolute i den inlinestyle der er på div-elementet med billedet?

Ud over det, så bør du:

1. sætte en DOCTYPE på dit dokument, da dette vil sikre dig en mere ens håndtering af dine styles. Brug f.eks. denne: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

2. fjerne script-kode efter </html> (eller flytte det konkrete kode du har i denne side op i body-sektionen, hvis det skal bruges).

3. lade være med at sætte visibility:hidden på div-elementer hvor id starter med teksten "SNSCHIDDEN", da du jo viser dem med scriptet i slutningen af dokumentet... og så er det jo spildt arbejde. :)


Ovenstående liste af kommentarer er baseret på det jeg umiddelbart kan se på den side jeg kommer frem til når jeg vælger news på den side du refererer til. Det er muligt der er andre omstændigheder som ændrer på disse udsagn (selvom jeg mener 1 og 2 til hver en tid er gyldige).
Avatar billede superraider Nybegynder
21. januar 2006 - 04:30 #6
soft, det løser jo ikke problemmet. jeg sætter den til absolute for at den ikke skal fylde der hvor den er placeret, da block og none ikke virker.

Og script delen sættes ind via noget aspkode, hvis man har åbnet nyheden. det vil sige at nogle af elementerne kun skal vises hvis nyheden er åben alene, og ikke vises hvis man har alle nyheder åben
Avatar billede softspot Forsker
21. januar 2006 - 11:13 #7
Nu kan jeg jo af gode grunde ikke se hvordan du har implementeret ASP-delen af din side, men jeg har svært ved at forstå, hvorfor det at scriptkoden bliver indsat af ASP har nogen betydning for hvor den skal placeres...!?

Det at display:none ikke fungerer som det skal, kan måske henledes til at din HTML kode ikke er valid og at browseren derfor bliver "forvirret" over hvad det er du vil (ellers så er det bare mig der ikke helt kan følge hvad du vil). Alternativt kører du i en gammel browser som ikke fatter display-stylen...

Under alle omstændigeder, så vil de rettelser jeg har anbefalet ovenfor under ingen omstændigheder gøre din kode dårligere, så mens du venter på en "ordentlig" svar, kan du jo prøve det jeg har foreslået - det kunne jo være der er noget om det jeg siger... :)
Avatar billede superraider Nybegynder
21. januar 2006 - 12:34 #8
Jep, jeg har prøvet det du siger og det hjalp ik. og andgående dine punkter.

. sætte en DOCTYPE på dit dokument, da dette vil sikre dig en mere ens håndtering af dine styles. Brug f.eks. denne: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

kan jeg ikke bruge, da det fucker mit CCS up da jeg ikke skriver efter de standarter.

Hvis du ikke kan see hvad det er der er mit problem, så see på spørgsmålet igen, tryk på overskriften. så kan du see at den godt vil skrive tekst "hejejehe" men ikke vise billede som ikke er påvirket af nogen ændringer med CCS.

men lukker bare, prøver at finde en anden alternativ
Avatar billede superraider Nybegynder
21. januar 2006 - 12:36 #9
du kan smide et svar, har brugt noget af du har sagt til at komme frem til en løsning
Avatar billede softspot Forsker
21. januar 2006 - 12:39 #10
Jeg vidste slet ikke der fandtes andre standarder :D

Men OK, hvis du ikke vil hjælpes, så er der jo ikke meget at gøre... :)
Avatar billede softspot Forsker
21. januar 2006 - 12:40 #11
Kan du så illustrere hvad du gjorde for løse problemet?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester