Avatar billede dotcom1 Nybegynder
20. august 2010 - 12:32 Der er 9 kommentarer og
1 løsning

Hjælp til lille ændring af script

Hej.

Har fundet dette script, som kan gøre et billede grayscale: http://www.ajaxblender.com/article-sources/jquery/convert-image-grayscale/index.html

I demoen sker det ved klik på en knap, men kan nogen hjælpe med at få det til at ske ved page load? Hvad skal ændres?

Mvh.
Avatar billede claes57 Ekspert
20. august 2010 - 12:46 #1
det starter med
<script type="text/javascript">
    $(document).ready(function(){
        $('#toggleDesaturate').click(function(){
            var imgObj = document.getElementById('image');
           
            if($.browser.msie){
                grayscaleImageIE(imgObj);
            } else {
                imgObj.src = grayscaleImage(imgObj);
            }         
        });
    });


og det retter du til
<script type="text/javascript">
var imgObj = document.getElementById('image');
if($.browser.msie){
  grayscaleImageIE(imgObj);
} else {
  imgObj.src = grayscaleImage(imgObj);
}         


så kører den med det samme - det kan være at linjerne skal flyttes ned til sidst i <script... dvs så de ligger lige før </script.. linjen.
Avatar billede dotcom1 Nybegynder
20. august 2010 - 13:27 #2
Hej og tak.

Jeg får dog en fejl, se: http://komfrisk.dk/test/greyscale.html

Error: $ is not defined
Source file: http://komfrisk.dk/test/greyscale.html
Line: 41

Nogen idé om hvad det skyldes?
Avatar billede claes57 Ekspert
20. august 2010 - 13:55 #3
ret linjen
if($.browser.msie){
til
if (navigator.appName.indexOf("Microsoft")>=0){
Avatar billede dotcom1 Nybegynder
20. august 2010 - 14:10 #4
Mystisk - nu giver det en anden fejl:
http://komfrisk.dk/test/greyscale.html

Error: imgObj is null
Source file: http://www.komfrisk.dk/test/black_white.js
Line: 14.
Avatar billede claes57 Ekspert
20. august 2010 - 14:18 #5
den får kørt koden før siden er loaded helt.
Pil linjerne
var imgObj = document.getElementById('image');
        if (navigator.appName.indexOf("Microsoft")>=0){
          grayscaleImageIE(imgObj);
        } else {
          imgObj.src = grayscaleImage(imgObj);
        }
ud af js-filen, og placér i stedet dette i bunden af html-koden (lige før </body...)
<script type="text/javascript">
var imgObj = document.getElementById('image');
        if (navigator.appName.indexOf("Microsoft")>=0){
          grayscaleImageIE(imgObj);
        } else {
          imgObj.src = grayscaleImage(imgObj);
        }
</script>
</body>
Avatar billede dotcom1 Nybegynder
20. august 2010 - 14:32 #6
Ok. Nu giver den en security error(?):

Error: Security error = NS_ERROR_DOM_SECURITY_ERR
Source file: http://www.komfrisk.dk/test/black_white.js
Line: 20
Avatar billede dotcom1 Nybegynder
20. august 2010 - 14:39 #7
Ah, det var fordi jeg linkede til et eksternt billede. :) Det lader til at virke nu. Tak. Læg et svar.
Avatar billede claes57 Ekspert
20. august 2010 - 14:40 #8
prøv at høre på
http://www.ajaxblender.com
med det ser ok ud i IE - den har jo også sin egen rutine til det.
Avatar billede claes57 Ekspert
20. august 2010 - 14:41 #9
ok...
Avatar billede dotcom1 Nybegynder
20. august 2010 - 14:45 #10
Tak for hjælpen. :)
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