Tabelle "feststellen"
gerold
- programmiertechnik
0 Christian Seiler0 gerold
0 donroca
Hallo,
ich habe eine Tabelle in der sich Text befindet. <logisch ;-)>
Wenn man aber mit Mozilla oder Netscape den Text größer stellt verschiebt sich die Tabelle.
Gibt es einen Script, damit sich die Tabelle nicht verschiebt bzw dass dann eine Scrollleiste eingebaut wird.
Das dann z.b. diese JavaS. Scrollleiste erscheint:
</SCRIPT>
<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 MM_callJS(jsStr) { //v2.0
return eval(jsStr)
}
//-->
</SCRIPT>
</script>
Wie macht man es, dann das die Tabelle sich nicht vergrößern kann..?
Kann mir da einer bitte helfen?
danke im vorraus
Hallo gerold,
Wie macht man es, dann das die Tabelle sich nicht vergrößern kann..?
Warum willst Du unbedingt JavaScript nehmen? Mit CSS geht es doch auch: Du verpasst jeder Tabellenzelle per CSS eine feste Höhe und Breite und die CSS-Eigenschaft overflow:auto; - dann erzeugt der Mozilla automatisch Scrollbars, wenn der Inhalt zu groß wird.
Christian
P.S.: Was sollte so schlimm daran sein, wenn sich etwas »verschiebt«? IMHO ist doch das gerade der größte Vorteil von HTML-Tabellen...
P.S.: Was sollte so schlimm daran sein, wenn sich etwas »verschiebt«? IMHO ist doch das gerade der größte Vorteil von HTML-Tabellen...
da es eine verschachtelte tabelle ist mit grafiken dazwischen. wenn sich das verschiebt sieht es relativ blöd aus....
Gibt es so ein ähnlichen Script wie der JavaScript auch mit CSS also dass er die gleiche Scrollbar bewirkt. Das ist eine Scrollbar, wenn man mit der Maus auf eine Grafik kommt scrollt der Script automatisch weiter runter...
Hallo,
Zum Thema Scrollleisten in Tabellen sollte es einiges im Archiv geben. Im Prinzip kann man Tabellen nicht scrollen, aber man kann in die einzelnen Zellen Elemente setzen, die scrollbar sind, zB. Textareas und so viel ich weiss auch div-Elemente.
Dieter