Toon posts:

[dreamweaver/dhtml] scroll stil zetten

Pagina: 1
Acties:
  • 67 views sinds 30-01-2008

Verwijderd

Topicstarter
ik heb via dreamweaver exchange een scroll plugin, deze bouwt een layer op waarin de text automatisch naar boven gescrolled wordt/beweegt, zie http://today.ttkdesign.nl nu wil ik ook dat ik deze stil kan zetten, hoe kan ik dat bouwen?

edit// bovenstaande is opgelost! nu het volgende nog:

ik wil graag scroll knoppen bij de scrollende txt/layer, zodat je ook nog eens zelf door de txt kan scrollen wanneer je iets wil opzoeken of het je te langzaam gaat; kan dat?

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

oa met de volgende code:
code:
1
clearTimeout(flevTimeoutID);

Intentionally left blank


Verwijderd

Topicstarter
Op woensdag 06 maart 2002 20:36 schreef crisp het volgende:
oa met de volgende code:
code:
1
clearTimeout(flevTimeoutID);
zou je aub meer uitleg kunnen geven :)

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Het scrollen wordt in het script geregeld door de funcite flevAutoScrollDivs()
Deze functie wordt telkens opnieuw aangeroepen met een timeout:
code:
1
flevTimeoutID = setTimeout("flevAutoScrollDivs(" + iStartScrolling + "," + iPixels + "," + iDelay + ")", iDelay);

Om het scrollen te stoppen dien je dus de timeout te killen, zodat de scrollfunctie niet meer aangeroepen wordt...

Intentionally left blank


Verwijderd

Topicstarter
sorry je begrip killen is me net iets te onduidelijk; wat moet ik precies met de code doen; simpelweg die regel deleten?

<script type="text/javascript" language="JavaScript">
<!--
// Global variable for Cross-browser AutoScroller
flevTimeoutID = null;

function flevDivPositionValue(sDivID, sPositionProperty) { // v1.0, Marja Ribbers-de Vroed
var sPositionValue;
// ***** W3C Compatible DOM (NN6, Mozilla 16, etc.) *****
if (document.getElementById && !document.all) { //W3C DOM compliant
var docObj = document.getElementById(sDivID);
if (document.defaultView != null) { // NS6+ alike
sPositionValue = document.defaultView.getComputedStyle(docObj, "").getPropertyValue(sPositionProperty);
}
else { // Opera 5 alike
if (sPositionProperty == "height") { sPositionValue = docObj.style.pixelHeight; }
else if (sPositionProperty == "width") { sPositionValue = docObj.style.pixelWidth; }
else { sPositionValue = eval("docObj.style." + sPositionProperty); }
}
sPositionValue = (sPositionValue == "") ? "0" : sPositionValue;
}
// ***** Netscape Navigator 4+ DOM *****
else if (document.layers) { //NS4+ DOM compliant
var docObj = eval("MM_findObj('" + sDivID + "')");
if ((sPositionProperty == "width") || (sPositionProperty == "height")) { sPositionValue = eval("docObj.clip." + sPositionProperty); }
else { sPositionValue = eval("docObj." + sPositionProperty); }
sPositionValue = (sPositionValue == "") ? "0" : sPositionValue;
}
// ***** Internet Explorer 4+ DOM *****
else if (document.all) { //IE4+ DOM compliant
if (sPositionProperty == "width") { sPositionValue = eval(sDivID + ".offsetWidth"); }
else if (sPositionProperty == "height") { sPositionValue = eval(sDivID + ".offsetHeight"); }
else if (sPositionProperty == "top") { sPositionValue = eval(sDivID + ".offsetTop"); }
else if (sPositionProperty == "left") { sPositionValue = eval(sDivID + ".offsetLeft"); }
sPositionValue = (sPositionValue == "") ? "0" : sPositionValue;
}
if (isNaN(sPositionValue)) { if (sPositionValue.indexOf('px') > 0) { sPositionValue = sPositionValue.substring(0,sPositionValue.indexOf('px')); } }
return parseInt(sPositionValue);
}

function flevMoveDiv(sDivID, sLeft, sTop){ // v1.0, Marja Ribbers-de Vroed
vardocObj = eval("MM_findObj('" + sDivID + "')");
if (document.layers) { // NS4.x
eval("docObj.top = '" + sTop + "'");
eval("docObj.left = '" + sLeft + "'");
}
else { // all others
eval("docObj.style.top = '" + sTop + "'");
eval("docObj.style.left = '" + sLeft + "'");
}
}

function flevAutoScrollDivs() { // v1.0, Marja Ribbers-de Vroed
var iArgs = flevAutoScrollDivs.arguments.length;
var sContainerDivID = 'AutoScrollContainer';
var sContentDivID = 'AutoScrollContent';
var iStartScrolling = (iArgs > 0) ? parseInt(flevAutoScrollDivs.arguments[0]) : 1;
var iPixels = (iArgs > 1) ? parseInt(flevAutoScrollDivs.arguments[1]) : 1;
var iDelay = (iArgs > 2) ? parseInt(flevAutoScrollDivs.arguments[2]) : 50;
var iCurrentTop = flevDivPositionValue(sContentDivID, 'top');
var iScrollTop = (-1 * flevDivPositionValue(sContentDivID, 'height'));
var iScrollBottom = flevDivPositionValue(sContainerDivID, 'height');
var iCurrentLeft = flevDivPositionValue(sContentDivID, 'left');
if (iStartScrolling) {
if (iCurrentTop != iScrollTop) {flevMoveDiv(sContentDivID, String(iCurrentLeft), String(iCurrentTop-iPixels));}// Continue scrolling
else {flevMoveDiv(sContentDivID, String(iCurrentLeft), String(iScrollBottom));}// Re-position scrolling layer at bottom of containing layer
flevTimeoutID = setTimeout("flevAutoScrollDivs(" + iStartScrolling + "," + iPixels + "," + iDelay + ")", iDelay);
}
else if (flevTimeoutID != null) {clearTimeout(flevTimeoutID);}
}
//-->
</script>

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Nix deleten, gewoon in je html code bijvoorbeeld het volgende zetten:
code:
1
<input type="button" value="Stop!" onClick="clearTimeout(flevTimeoutID);">

Als je nu op het knopje drukt stopt het scrollen als het goed is...

Intentionally left blank


Verwijderd

Topicstarter
Op woensdag 06 maart 2002 21:47 schreef crisp het volgende:
Nix deleten, gewoon in je html code bijvoorbeeld het volgende zetten:
code:
1
<input type="button" value="Stop!" onClick="clearTimeout(flevTimeoutID);">

Als je nu op het knopje drukt stopt het scrollen als het goed is...
bedankt! is gelukt; en een knopje die het geheel weer laat draaien? of eventueel scrollable maakt?

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Om weer te starten:
code:
1
<input type="button" value="Start!" onClick="flevAutoScrollDivs(1,1,50);">

of alles in 1:
code:
1
<input type="button" value="Stop!" onClick="if (flevTimeoutID) { clearTimeout(flevTimeoutID); flevTimeoutID=null; this.value='Start!'; } else { flevAutoScrollDivs(1,1,50); this.value='Stop!'; }">

Intentionally left blank


Verwijderd

Topicstarter
misschien kan je me met het volgende ook helpen?

ik wil graag scroll knoppen bij de scrollende txt, zodat je ook nog eens zelf door de txt kan scrollen wanneer je iets wil opzoek of het je te langzaam gaat; kan dat?

Verwijderd

Sorry, maar ik vind dat je nu een beetje te ver gaat. Het is hier niet een 'klaar terwijl u wacht' forum.

Alhoewel de meesten hier lol hebben in het scripten (of eigenlijk meer het resultaat), vind ik dat je zelf ook wel iets mag proberen. En als dat niet lukt kun je het altijd nog vragen, en uitleggen waar het mis gaat.

Als jij (of iemand anders) het hier niet mee eens bent, dan kun je even ICQ-en of mailen naar één van de W&G-mods, de adressen vind je in de W&G FAQ, die kun je onderweg ook nog lezen.
Pagina: 1

Dit topic is gesloten.