Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Activeren HTML code probleem

None
3 antwoorden
  • Bij het bouwen van een pagina wil ik in een bepaald gebied tekst laten veranderen aan de hand van buttons. Deze tekst kan ook wat langer zijn, waarbij de gebruiker door scroll-knopjes aan te klikken door de tekst scrollt. Ik heb hiervoor wat scripts opgezocht op het web en zelf wat veranderingen aangebracht. Alles werkt nu, alleen kan ik in de tekst eventuele HTML code niet actief krijgen: hij plant de tekst letterlijk neer. Wie weet hier een oplossing voor?
    De tekst die ik nu aan variabelen toe ken, zou ik graag in aparte files willen hebben. Hoe?

    De code (gestript, maar tot zover wel werkend) heb ik even hieronder gezet:
    <html>
    <head>
    <title>test</title>

    <style type="text/css">
    <!– Definieer positie text_window –>
    #divScrollTextCont {position:absolute; left:16px; top:327px; width:463px; height:63px; clip:rect(0px 463px 63px 0px); overflow:hidden; visibility:hidden;}
    <!– Definieer positie text_within_window –>
    #divText {position:absolute; left:0px; top:0px;}
    </style>

    <script language="JavaScript" type="text/javascript">
    <!–
    function browsercheck(){
    this.ver=navigator.appVersion
    this.agent=navigator.userAgent
    this.dom=document.getElementById?1:0
    this.opera5=this.agent.indexOf("Opera 5";)>-1
    this.ie5=(this.ver.indexOf("MSIE 5";)>-1 && this.dom && !this.opera5)?1:0;
    this.ie6=(this.ver.indexOf("MSIE 6";)>-1 && this.dom && !this.opera5)?1:0;
    this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
    this.ie=this.ie4||this.ie5||this.ie6
    this.mac=this.agent.indexOf("Mac";)>-1
    this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
    this.ns4=(document.layers && !this.dom)?1:0;
    this.browser=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
    return this
    }
    var browser=new browsercheck()

    //Speed lager:hogere snelheid
    var speed = 30
    //Enkele vars
    var loop, timer, start_x, start_y
    var started = false

    //maak object afhankelijk van gebruikte browser
    function makeObj(obj,nest){
    nest=(!nest) ? "":'document.'+nest+'.'
    this.el=browser.dom?document.getElementById(obj):browser.ie4?document.all[obj]:browser.ns4?eval(nest+'document.'+obj):0;
    this.css=browser.dom?document.getElementById(obj).style:browser.ie4?document.all[obj].style:browser.ns4?eval(nest+'document.'+obj):0;
    this.scrollHeight=browser.ns4?this.css.document.height:this.el.offsetHeight
    this.clipHeight=browser.ns4?this.css.clip.height:this.el.offsetHeight
    this.up=goUp;this.down=goDown;
    this.moveIt=moveIt; this.x=0; this.y=0;
    this.obj = obj + "Object"
    eval(this.obj + "=this";)
    return this
    }

    // Bij sommige browsers 'px' toevoegen.
    var px = browser.ns4||window.opera?"":"px";
    function moveIt(x,y){
    this.x = x
    this.y = y
    this.css.left = this.x+px
    this.css.top = this.y+px
    }

    //Scroll omhoog
    function goDown(move){
    if (!started && loop){
    started = true
    start_x = this.x
    start_y = this.y
    }
    if (this.y>-this.scrollHeight+oCont.clipHeight){
    this.moveIt(0,this.y-move)
    if (loop) setTimeout(this.obj+".down("+move+";)",speed)
    }
    if (Math.abs(start_y-this.y) > 40){
    loop = false
    started = false
    }
    }
    //Scroll omlaag
    function goUp(move){
    if (!started && loop){
    started = true
    start_x = this.x
    start_y = this.y
    }
    if (this.y<0){
    this.moveIt(0,this.y-move)
    if (loop) setTimeout(this.obj+".up("+move+";)",speed)
    }
    if (Math.abs(start_y-this.y) > 40){
    loop = false
    started = false
    }
    }

    //Aanroep scroll functies. Bovendien checken of pagina geladen is.
    function scroll(speed){
    if (scrolltextLoaded){
    loop = true;
    if (speed>0) oScroll.down(speed)
    else oScroll.up(speed)
    }
    }

    //Maak het object
    var scrolltextLoaded = false
    function scrolltextInit(){
    oCont = new makeObj('divScrollTextCont')
    oScroll = new makeObj('divText','divScrollTextCont')
    oScroll.moveIt(0,0)
    oCont.css.visibility = "visible"
    scrolltextLoaded = true
    }

    var tekst_no=1, max_tekst=5;
    tekst = new String(max_tekst);
    tekst[1] = "Tekst 1 zonder niks";

    tekst[2] = "tekst 2 met een <BR> en nog een regel";

    tekst[3] = 'tekst 3 zou een <a href="andere pagina.html">anker </a> ook werken?';

    tekst[4] = "tekst 4 en nog <B>wat onzin </B>";

    tekst[5] = "tekst 5 etc.";

    // Maak functie voor wisselen van tekst
    function text(j){
    if (document.all){
    // IE CODE
    objCount = document.getElementById('divText');
    objCount.innerText=tekst[j];
    }
    else{
    // MOZILLA & NETSCAPE CODE
    document.getElementById("divText";).childNodes[0].nodeValue=tekst[j];
    }
    }

    // Maak verander functie
    function textchange(i){
    text(i);
    scrolltextInit();
    }

    // Maak init functie
    function textInit(){
    text(1);
    scrolltextInit();
    }

    //Roep init aan als browser ok is…
    if (browser.browser) onload = textInit
    // –>
    </SCRIPT>
    </head>
    <body bgcolor="#AFC042" text="#000000">
    <font face=" Arial, Verdana, Helvetica, sans-serif" size="2">
    <div id="divScrollTextCont">
    <div id="divText"> </div>
    </div>
    <a HREF="javascript:textchange(1)" >tekst 1</a><BR>
    <a HREF="javascript:textchange(2)" >tekst 2</a><BR>
    <a HREF="javascript:textchange(3)" >tekst 3</a><BR>
    <a HREF="javascript:textchange(4)" >tekst 4</a><BR>
    <a HREF="javascript:textchange(5)" >tekst 5</a><BR>
    </body>
    </html>


    Alvast bedankt voor het meedenken, misschien zijn er ook wel compleet andere oplossingen, maar ik wil de zaak graag wel graag werkend hebben met diverse browers.

    Gerrit Brouwer
  • Gebruik innerHTML ipv innerText en het werkt iig in IE.
    DOM-gedoe (voor mozilla) zou je nog even na moeten kijken. Misschien heb je wat aan deze link: DOM reference
  • Bedankt voor je snelle reactie. Ik ga nu aan de slag met je suggesties.

    Gerrit Brouwer

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.