Avatar billede thomas_b Nybegynder
08. november 2005 - 23:56 Der er 7 kommentarer og
1 løsning

DXImageTransform virker ikke !

Davs Eksperter...

Har et lille problem med mit script...: dette virker ikke...!
Når jeg klikker på min [onclick="aaben('021005');"] så sker der nul og en dyt jeg tror den at den ikke kan finde ud af både "visibility" og "display" har prøvet at bytte om på dem og lave dem ens, men syntes ikke det hjalp ville være glad hvis en ville hjælpe...! (Hvis evt. scriptet kunne laves mere simpel ?)

----------------------------------------------------------------
<div id="021005" style="position:absolute;top:0px;left:5px;display:none;">
<img src="img/bg.png" border="0" style="visibility:hidden;">
</div>
<script>
function runPNGsta()
  {
  for(var i=0; i<document.images.length; i++)
      {
      var img = document.images[i]
      var imgName = img.src.toUpperCase()
      if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
        {
        var imgID = (img.id) ? "id='" + img.id + "' " : ""
        var imgClass = (img.className) ? "class='" + img.className + "' " : ""
        var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
        var imgStyle = "display:inline-block;" + img.style.cssText
        if (img.align == "left") imgStyle = "float:left;" + imgStyle
        if (img.align == "right") imgStyle = "float:right;" + imgStyle
        if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
        var strNewHTML = "<span " + imgID + imgClass + imgTitle
        + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
        + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
        + "(src=\'" + img.src + "\'); visibility: visible\"></span>"
        img.outerHTML = strNewHTML
        i = i-1
        }
      }
  }
window.attachEvent("onload", runPNGsta);

function aaben(id)
{
    var layerid = document.getElementById(id);
    if (layerid.style.display == "none")
    {
        layerid.style.display = "inline"
    }
}
</script>
Avatar billede pidgeot Nybegynder
09. november 2005 - 00:09 #1
Hvis jeg forstår dig korrekt, er det eneste du skal gøre at fjerne style="visibility:hidden;" fra dit <img>.
Avatar billede roenving Novice
09. november 2005 - 05:13 #2
Arbejder du på en løsning til et lukket netværk ?-)

-- for i adskillige omgange tages der fat i metoder og muligheder, som kun findes til IE og under ingen omstændigheder understøttes af andre browsere ...

-- måske kan den activeX-kontrol, der gemmer sig bag DXImageTransform en dag blive understøttet af andre browsere, men syntaksen er direkte ulovlig ifølge w3c ...

-- jeg fprstår godt dit behov for at få vist .png-billeder ordentligt i IE, men så skal det vel ikke forhindre andre browsere i at vise noget, som de kan i forvejen ?o]
Avatar billede olebole Juniormester
09. november 2005 - 09:28 #3
<ole>

Derudover viser din handler:
    onclick="aaben('021005');"
- at du bruger ulovlige ID'er. En ID må ikke begynde med et tal. Den _skal_ begynde med et bogstav eller underscore  :)

/mvh
</bole>
Avatar billede thomas_b Nybegynder
09. november 2005 - 15:06 #4
pidgeot > Det eneste at style="visibility:hidden;" i IMG tag gør at skjule billet indtil at PNG-scriptet bliver kørt på billedet...

roenving > Nej det er ikke til lukket netværk, det er en hjemmeside som alle andre...!

olebole > 1.000. tak for tippet, men hvad gør det forøvrigt at det starter med tal...?

------------

Problemmet ligger når jeg sætter display:none; ind i DIV -tagget...! Ellers fungere det udemærket, men som i kan se skal jeg bruge det display:none; !!!
Avatar billede thomas_b Nybegynder
09. november 2005 - 15:34 #5
Jeg har selv fundet fejlen... derved tager jeg point da jeg ikke fik et førrende svar... Men ellers tak...

/thomas_b
Avatar billede thomas_b Nybegynder
09. november 2005 - 15:36 #6
Jeg lavede denne....:

------------------

<div style="position:absolute;top:0px;left:5px;">
<img src="img/bg.png" border="0" id="_021005" style="visibility:hidden;">
</div>
<script>
function runPNGsta1()
  {
  for(var i=0; i<document.images.length; i++)
      {
      var img = document.images[i]
      var imgName = img.src.toUpperCase()
      if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
        {
        var imgID = (img.id) ? "id='" + img.id + "' " : ""
        var imgClass = (img.className) ? "class='" + img.className + "' " : ""
        var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
        var imgStyle = "display:inline-block;" + img.style.cssText
        if (img.align == "left") imgStyle = "float:left;" + imgStyle
        if (img.align == "right") imgStyle = "float:right;" + imgStyle
        if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
        var strNewHTML = "<span " + imgID + imgClass + imgTitle
        + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
        + "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
        + "(src=\'" + img.src + "\')\"></span>"
        img.outerHTML = strNewHTML
        i = i-1
        }
      }
  }
window.attachEvent("onload", runPNGsta1);

function aaben(id)
{
    var layerid = document.getElementById(id);
    if (layerid.style.visibility == "hidden")
    {
        layerid.style.visibility = "visible"
    }
}
</script>
Avatar billede olebole Juniormester
09. november 2005 - 15:45 #7
roenving >> din indsats (09/11-2005 05:13:40) synes desværre at være komplet spildt  :o|
Avatar billede roenving Novice
10. november 2005 - 12:02 #8
Jepz ,-(
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