Avatar billede kjoller Nybegynder
12. november 2001 - 15:16 Der er 4 kommentarer og
1 løsning

layers og alt muligt?

Hvordan få jeg \"newsClipping\" til at ligge inde i tabellen \"test\", det skal virke selv om at der er er forskellig højde og venstre linie da det skal ligge på en siden som bliver centeret i billedet.


<html>
<head>
    <title>ASM Scroller 2.0</title>
    <script src=\"ASM_Scroller2.js\"></script>
</head>

<body bgcolor=\"ffffff\" text=\"000000\" marginwidth=\"0\" marginheight=\"0\" topmargin=\"0\" leftmargin=\"0\" onLoad=\"init();\">
<table border=\"1\" cellpadding=\"10\" cellspacing=\"10\">
    <tr>
        <td>
            <div id=\"line1\" >
                <img src=\"images/line.gif\" width=\"365\" height=\"1\" border=\"0\">
            </div>
        </td>
        <td>
            <div id=\"scrollMeUp\" >
                <a href=\"#\" onMouseOver=\"scrollIt(\'Scroll Up\',1); return true\" onMouseout=\"scrollIt(\'\',0); return true\" onfocus=\"this.blur();\">
                    <img src=\"images/up.gif\" width=\"15\" height=\"15\" border=\"0\">
                </a>
            </div>
        </td>
    </tr>
    <tr>
        <td id=\"test\" height=\"150\">

        <div id=\"newsClipping\" style=\"position:absolute; width:350px; height:10px; z-index:2; top:56; clip:rect(0px,350px,155px,0px);\">
       
        <div id=\"news\" style=\"position:absolute; width:350px; z-index:1; left: 0px; top: 0px;\">
            Der er utrolig.....<br>
            <br>
            <br>
            <br>
            meget på denne side......
            <br>
            Meget mere......
            <br>
            <br>
            <br>
            <br>
            <br>vvv
            end du.....
            <br>
            <br>
            <br>
            så til at......
            <br>
            <br>
            <br>
            <br>
            starte med.
        </div>
    </div>
       
        </td>
   
    <td>adsf</td>
    </tr>
    <tr>
        <td>
            <div id=\"line2\" >
                <img src=\"images/line.gif\" width=\"365\" height=\"1\" border=\"0\">
            </div>
        </td>
        <td>
            <div id=\"scrollMeDown\" >
                <a href=\"#\" onMouseOver=\"scrollIt(\'Scroll Down\',2); return true\" onMouseout=\"scrollIt(\'\',0); return true\" onfocus=\"this.blur();\">
                    <img src=\"images/down.gif\" width=\"15\" height=\"15\" border=\"0\">
                </a>
            </div>
        </td>
    </tr>
   

</table>
</body>
</html>
Avatar billede ordinary Nybegynder
12. november 2001 - 17:30 #1
Jeg mangler \"ASM_Scroller2.js\" for at jeg kan teste, men

hvis du laver (td id=) test om til newsClipping
og laver den om så den ikke er absolut placering, burde det virke
Avatar billede kjoller Nybegynder
12. november 2001 - 17:46 #2
det har jeg prøvet, jeg har nok gjort noget forkert men her er koden til ASM_Scroller2.js

var w3c = (document.getElementById) ? 1:0
var ns4 = (document.layers) ? 1:0
var ie4 = (document.all) ? 1:0

var range = \"\";
var cap = \"\";
var mutex = 0;
var yplace = 0;
var ymax = 0;
var ymin = 0;
var xplace = 0;
var newsHeight = 0;

var speed = 10;                       
var newsId = \"news\";                 
var newsClipId = \"newsClipping\";     

function redrawScreen() {
  location.reload();
  return false
}

function shiftTo(obj, x, y) {
  if (w3c) {
    obj.style.left = x + \"px\";
    obj.style.top = y + \"px\";
  }
  else if (ns4) {
    obj.moveTo(x,y);
  }
  else if (ie4) {
    obj.style.pixelLeft = x;
    obj.style.pixelTop = y;
  }
}

function getObject(obj) {
    var theObj = eval(\"document.\" + range + obj + cap);
    return theObj;
}

function scrollUp() {
  if (mutex == 1){
    var theObj = getObject(newsId);
    if (yplace < ymax) {
      yplace = yplace + speed;
      if (yplace > ymax) yplace = ymax;
      shiftTo(theObj, xplace, yplace);
      setTimeout(\"scrollUp()\",25);
    }
  }
}
 
function scrollDown() {
  if (mutex == 2){
    var theObj = getObject(newsId);
    if (yplace > ymin) {
      yplace = yplace - speed;
      if (yplace < ymin) yplace = ymin;
      shiftTo(theObj, xplace, yplace);
      setTimeout(\"scrollDown()\",25);
    }
  }
}

function scrollIt(msg, dir) {
  window.status = msg;
  mutex = dir;
  if (mutex == 1) scrollUp();
  else if (mutex == 2) scrollDown();
}

function init() {
  if (w3c) {
    range = \"getElementById(\\\"\";
    cap = \"\\\")\";
    theObj = getObject(newsClipId);
    newsHeight = parseInt(theObj.offsetHeight);
    theObj = getObject(newsId);
    ymin = (parseInt(theObj.offsetHeight) - newsHeight) * -1;
  }
  else if (ns4) {
    window.captureEvents(Event.RESIZE);
    window.onresize = redrawScreen;
    theObj = getObject(newsClipId);
    newsHeight = theObj.clip.height;
    newsId = newsClipId + \".document.\" + newsId;
    theObj = getObject(newsId);
    ymin = (theObj.clip.height - newsHeight) * -1;
  }
  else if (ie4) {
    range = \"all.\";
    theObj = getObject(newsClipId);
    newsHeight = theObj.offsetHeight;
    theObj = getObject(newsId);
    ymin = (theObj.offsetHeight - newsHeight) * -1;
  }
}
Avatar billede ordinary Nybegynder
13. november 2001 - 00:40 #3
Hej kjoller
Jeg kan ikke løse den, Scriptet regner ud hvor scroll siden er i forhold til den faste størelse. NewsClipping\'s position skal dermed være absolut for at scriptet skal virke.
En løsning fra min side vil være at ligge en del af siden (scrollsiden, scrollup og scrolldown) i en iframe. På den måde kan du \"styre\" din scroll funktion i en tabel.

VH Jesper
Avatar billede kjoller Nybegynder
13. november 2001 - 07:45 #4
hmm ok
Avatar billede kjoller Nybegynder
13. december 2001 - 08:25 #5
lukket
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