Scrollbalken wie bei http://www.novonet-frankfurt.de/index2.htm
rudi
- programmiertechnik
0 Nichtsnutz0 HarryS0 rudi0 HarryS
Hallo,
ich würde gerne einen solchen Scrollbalken wie bei
http://www.novonet-frankfurt.de/index2.htm
ein meine Website integrieren.
De Scrollbalken scheint mit Tabellen zu funktionieren, was normale Scrollbalken nicht tun.
Meint ihr solch ein Scrollbalken ist sinnvoll?
Wie erstellt bzw wie baut man solch einen Scrollbalken in seine Website?
grüße
rudi
Hi!
Meint ihr solch ein Scrollbalken ist sinnvoll?
Nein, ich musste erst einen anderen Browser starten, damit der Scrollbalken funktioniert. Aber Opera macht auch leichte Probleme beim scrollen, da ein Stückchen von der Blume (sowohl unten als auch oben) mitkommt.
Tschüss!
Hi,
leider funktioniert das scrollen mit dem Mausrad auch nicht mehr...
IE6 und XP
Gruss
Uli
Hallo rudi,
ich würde gerne einen solchen Scrollbalken wie bei
http://www.novonet-frankfurt.de/index2.htm
ein meine Website integrieren.
De Scrollbalken scheint mit Tabellen zu funktionieren, was normale Scrollbalken nicht tun.
In einer Tabelle wird mittels JavaScript gescrollt
Meint ihr solch ein Scrollbalken ist sinnvoll?
Also ehrlich: Nein. Und bei abgeschalteten JS funktioniert es logischerweise auch nicht. Auch mancher Browser scheinet damit nicht klarzukommen, wie die anderen postings beweisen.
Die Alternative dazu wäre ein IFRAME der natürlich auch wieder seine Tücken hat.
Wie erstellt bzw wie baut man solch einen Scrollbalken in seine Website?
Nun Du könntest in den Quelltext der Datei http://www.novonet-frankfurt.de/index-Dateien/main.htm schauen, dort findest Du auch wo das Scrollscript liegt. Nämlich unter http://www.novonet-frankfurt.de/index-Dateien/links-Dateien/scroll.js
Dann fragst Du noch den Eigentümer diese Site, ob Du das Script verwenden darfst und falls ja, baust Du es Dir eben ein.
Grüße aus Nürnberg,
HarryS
Hallo Harry,
Dann fragst Du noch den Eigentümer diese Site, ob Du das Script verwenden darfst und falls ja, baust Du es Dir eben ein.
Wobei es fraglich ist, ob das Script wirklich etwas taugt. Gerade, wenn ich mir die ersten beiden Zeilen ansehe, läuft es mir wieder kalt den Rücken herunter:
fiveScroll.mo5 = navigator.userAgent.indexOf("Gecko") != -1
fiveScroll.ie5 = navigator.appName == "Microsoft Internet Explorer" && document.getElementById
Den übrigen Code sehe ich mir gar nicht an, weil ich es sowieso nicht verstehen würde ;-). Aber diese beiden Zeilen verraten doch schon recht viel über den Rest, finde ich.
Grüße aus Darmstadt,
Benjamin
Hallo Benjamin
Wobei es fraglich ist, ob das Script wirklich etwas taugt. Gerade, wenn ich mir die ersten beiden Zeilen ansehe, läuft es mir wieder kalt den Rücken herunter:
fiveScroll.mo5 = navigator.userAgent.indexOf("Gecko") != -1
fiveScroll.ie5 = navigator.appName == "Microsoft Internet Explorer" && document.getElementByIdDen übrigen Code sehe ich mir gar nicht an, weil ich es sowieso nicht verstehen würde ;-). Aber diese beiden Zeilen verraten doch schon recht viel über den Rest, finde ich.
Genau, wer den userAgent und den appName abfragt kann eigentlich nicht so DER Spezialist sein. Das Script selbst ist scheinbar ein ganz schön kompliziertes Teil, da blick ich auf Anhieb auch nicht durch.
Und weil das Script in Opera 5 und 6 nicht funktioniert, könnte man den ganzen Kladderadatsch einfach durch ein <div style="overflow:auto"> ersetzen, denn das geht in den alten Operas auch nicht.
Grüße aus Nürnberg,
HarryS
einen ähnlichen effekt also einen Scrollbalken der ähnlich funktioniert wisst ihr nicht zufällig??
Da ich so etwas gerne in eine Tabelle integrieren möchte.
und wie findet ihr diesen Script, er hat eine ähnliche Funktion ist aber freeware:
<SCRIPT LANGUAGE="JavaScript">
function verifyCompatibleBrowser(){
this.ver=navigator.appVersion
this.dom=document.getElementById?1:0
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom)?1:0;
this.ie4=(document.all && !this.dom)?1:0;
this.ns5=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.ie5 || this.ie4 || this.ns4 || this.ns5)
return this
}
bw=new verifyCompatibleBrowser()
var speed=50
var loop, timer
function ConstructObject(obj,nest){
nest=(!nest) ? '':'document.'+nest+'.'
this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0;
this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0;
this.scrollHeight=bw.ns4?this.css.document.height:this.el.offsetHeight
this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight
this.up=MoveAreaUp;this.down=MoveAreaDown;
this.MoveArea=MoveArea; this.x; this.y;
this.obj = obj + "Object"
eval(this.obj + "=this")
return this
}
function MoveArea(x,y){
this.x=x;this.y=y
this.css.left=this.x
this.css.top=this.y
}
function MoveAreaDown(move){
if(this.y>-this.scrollHeight+objContainer.clipHeight){
this.MoveArea(0,this.y-move)
if(loop) setTimeout(this.obj+".down("+move+")",speed)
}
}
function MoveAreaUp(move){
if(this.y<0){
this.MoveArea(0,this.y-move)
if(loop) setTimeout(this.obj+".up("+move+")",speed)
}
}
function PerformScroll(speed){
if(initialised){
loop=true;
if(speed>0) objScroller.down(speed)
else objScroller.up(speed)
}
}
function CeaseScroll(){
loop=false
if(timer) clearTimeout(timer)
}
var initialised;
function InitialiseScrollableArea(){
objContainer=new ConstructObject('divContainer')
objScroller=new ConstructObject('divContent','divContainer')
objScroller.MoveArea(0,0)
objContainer.css.visibility='visible'
initialised=true;
}
function displayStatusMsg(msgStr) {
status=msgStr;
document.returnValue = true;
}
function preloadImages() {
var d=document; if(d.images){ if(!d.p) d.p=new Array();
var i,j=d.p.length,a=preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.p[j]=new Image; d.p[j++].src=a[i];}}
}
function swapImgRestore() {
var i,x,a=document.sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function findObj(n, d) {
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=findObj(n,d.layers[i].document); return x;
}
function swapImage() {
var i,j=0,x,a=swapImage.arguments; document.sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=findObj(a[i]))!=null){document.sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
function reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.pgW=innerWidth; document.pgH=innerHeight; onresize=reloadPage; }}
else if (innerWidth!=document.pgW || innerHeight!=document.pgH) location.reload();
}
reloadPage(true);
</SCRIPT>
Hallo Rudi,
einen ähnlichen effekt also einen Scrollbalken der ähnlich funktioniert wisst ihr nicht zufällig??
Aber klar doch. Du kannst:
1. einen Iframe benutzen:
http://selfhtml.teamone.de/html/frames/eingebettete.htm#definieren
2. Ein div mit overflow:auto in eine Tabellenzelle einsetzen:
http://selfhtml.teamone.de/css/eigenschaften/positionierung.htm#overflow
http://www.styleassistant.de/tips/tip73.htm
http://www.styleassistant.de/tips/beispiel73.htm
Beides ist allerdings nicht ganz ohne Nachteile. Aber eine Lösung mit JS ist bestimmt nicht besser (auf alle Fälle aufwendiger).
Da ich so etwas gerne in eine Tabelle integrieren möchte.
Obige Beispiele kannst Du ohne weiteres in eine Tabellenzelle integrieren.
und wie findet ihr diesen Script, er hat eine ähnliche Funktion ist aber freeware:
<SCRIPT LANGUAGE="JavaScript">
[...]
</SCRIPT>
Sorry... aber keine Ahnung was das Teil kann.
Grüße aus Nürnberg,
HarryS