kostenloser Webspace werbefrei: lima-city


kleines Javascript Skript

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    usertrend

    usertrend hat kostenlosen Webspace.

    Ich bräuchte ein kleines Javascript Skript. Und zwar habe ich auf meiner Website 2 Mirrors für jedes Video im tag/angebot">Angebot. Nun soll beim aufruf der Startseite, auf der das Vorgestellte Video, das von 2 verschiedenen Websiten gehostet wird, ist, ein Zufallswert "berechnet" werden, um genauer zu sein ein Wert zwischen 1 und 2. Falls der Wert 1 ist soll der Player x aufgerufen werden, bei 2 der Player y. Leider bin ich mit Javascript ziehmlich eingerostet und weiß deshalb zwar, das es recht einfach zu bewerkstelligen ist, leider aber nicht, wie ich es bewerkstelleigen soll. Darum wäre ich euch für den Skript dankbar. Am besten wäre es natürlich, wenn man den Skript einfach auf 3 oder mehr Player erweitern kann, das müsste jetzt aber nicht unbedingt sein, ich will ja nichts zahlen, und ich will nicht zuviel verlangen.
    Ich weiß ja die Beiträge zu schätzen, in denen andere Lösungswege und Alternativen dargelegt werden, aber diese bitte hier unterlassen, das Script muss unbedingt in Javascript geschrieben sein.

    Danke schonmal im Vorraus für den Script.

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Math.random() gibt dir einen langen Wert von 0 bis 0.99999999999999999 (17 Nachkommastellen, habe mehrmals getestet, das ist aber variabel, auch nach dem verwendeten System) zurück. Du prüfst einfach, ob dieser Wert kleiner als 1/2 ist, oder nicht. Willst du 3 oder mehr Optionen, musst du diesen Wert in eine Variable speichern und dann prüfen, ob er kleiner als 1/3 ist und wenn nicht, ob er kleiner als 2/3 ist, oder nicht. Bei vier wieder mit einem mehr.

    Beitrag zuletzt geändert: 31.8.2011 20:55:10 von drafed-map
  4. Autor dieses Themas

    usertrend

    usertrend hat kostenlosen Webspace.

    drafed-map schrieb:
    Math.random() gibt dir einen langen Wert von 0 bis 0.99999999999999999 (17 Nachkommastellen, habe mehrmals getestet, das ist aber variabel, auch nach dem verwendeten System) zurück. Du prüfst einfach, ob dieser Wert kleiner als 1/2 ist, oder nicht. Willst du 3 oder mehr Optionen, musst du diesen Wert in eine Variable speichern und dann prüfen, ob er kleiner als 1/3 ist und wenn nicht, ob er kleiner als 2/3 ist, oder nicht. Bei vier wieder mit einem mehr.


    ok danke. Jetzt müsste ich nur noch wissen, wie ich den Player am besten verstecke. Hättest du da auch noch einen Vorschlag?
  5. Dazu bräuchte ich einen Link zu deiner Seite, denn ich weiß ja nicht, wie du das machen willst.
  6. Autor dieses Themas

    usertrend

    usertrend hat kostenlosen Webspace.

    drafed-map schrieb:
    Dazu bräuchte ich einen Link zu deiner Seite, denn ich weiß ja nicht, wie du das machen willst.


    Ich habe 2 Player, besser gesagt ein Livestream. Der erste wird bei <objekt> Tag eingebunden, der andere mit iframe. Vorsichtshalber hier der Code:

    <iframe height="360" width="640" frameborder="0" src="http://www.own3d.tv/liveembed/92221"></iframe>

    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="296" id="utv879192"><param name="flashvars" value="autoplay=false&amp;brand=embed&amp;cid=9195022&amp;v3=1"/><param name="allowfullscreen" value="true"/><param name="allowscriptaccess" value="always"/><param name="movie" value="http://www.ustream.tv/flash/viewer.swf"/><embed flashvars="autoplay=false&amp;brand=embed&amp;cid=9195022&amp;v3=1" width="480" height="296" allowfullscreen="true" allowscriptaccess="always" id="utv879192" name="utv_n_326682" src="http://www.ustream.tv/flash/viewer.swf" type="application/x-shockwave-flash" /></object>


    Jetzt soll aber immer nur einer der Streams angezeigt werden. Welcher, das soll per zufall entschieden werden.
    Das einzige was ich bisher gefunden habe ist dieses Spoiler System, wie man es auch aus Foren kennt.

    <script type="text/javascript">
    function getElementsByClass(searchClass,node,tag) {
    var classElements = new Array();
    if ( node == null ) node = document;
    if ( tag == null ) tag = '*';
    var els = node.getElementsByTagName(tag);
    var elsLen = els.length;
    var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
    var j = 0;
    for (var i = 0, j = 0; i < elsLen; i++) {
    if ( pattern.test(els.className) ) {
    classElements[j] = els; j++;}}
    return classElements;}
    window.onload = function() {
    var spoilers = getElementsByClass('spoiler');
    for(x in spoilers) {
    spoilers[x].getElementsByTagName('span')[0].style.display = 'none';}};
    function spoiler(obj) {
    var st = obj.getElementsByTagName('span')[0].style;
    st.display = (st.display == 'none' || st.display == '') ? 'block' : 'none';}
    </script>
    <p class="spoiler">
    <input type="button" value="Show/Hide" onclick="spoiler(this.parentNode);" />
    <span></span></p>


    Alles im Span wird per Button entweder angezeigt oder versteckt. Das könnte man vielleicht als Grundgerüst/Ansatz nehmen, jedoch bin ich noch auf keine Lösung gestoßen. Wie gesagt, ich bin etwas eingerostet :biggrin:

    Beitrag zuletzt geändert: 31.8.2011 22:43:26 von usertrend
  7. Das solltest du ganz anders machen, denn das ist viel zu umständlich. Du nimmst einen Div und gibst ihm eine ID. Per
    document.getElementById('Die ID des Divs').innerHTML = 'HTML-Code';
    fügst du den HTML-Code ein. Das machst du beim Onclick der Buttons.
  8. Autor dieses Themas

    usertrend

    usertrend hat kostenlosen Webspace.

    drafed-map schrieb:
    Das solltest du ganz anders machen, denn das ist viel zu umständlich. Du nimmst einen Div und gibst ihm eine ID. Per
    document.getElementById('Die ID des Divs').innerHTML = 'HTML-Code';
    fügst du den HTML-Code ein. Das machst du beim Onclick der Buttons.


    Ok ich hab mir jetzt was mit meinem restwissen zusammengeschustert, aber irgendwie klappt das nicht. Könntest du das verbessern?

    <script type="text/javascript">
    var Math.random() = zufallz;
    if ( zufallz  <= '0.5') {
    document.write('<html>
    <p><iframe frameborder="0" width="520" height="325" src="http://www.dailymotion.com/embed/video/xk5cra"></iframe></p>
    </html>');
    }
    else {
    document.write('<html><iframe frameborder="0" width="520" height="325" src="http://www.dailymotion.com/embed/video/xk59gh"></html>');
    }


    Ich hab jetzt als Beispiel einfach mal den Dailymotion Player reingemacht. Der obere verweist auf ein anderes Video als der Untere. Wenn ich den Code jetzt ausprobiere hängt sich die ganze Page auf, darum vermute ich einen Fehler ^^

    Beitrag zuletzt geändert: 31.8.2011 23:33:38 von usertrend
  9. Links muss der Variablenname stehen und rechts das, das in der Variable gespeichert werden soll.

    Außerdem muss man warten, bis das Dokument geladen ist, wenn man etwas mit dem Dokument machen will. Bei zwei Playern schreibst du
    window.onload = function()
    {
    	if(Math.random() < 0.5)
    	{
    		document.getElementById('Die ID des Divs').innerHTML = 'HTML-Code des ersten Players';
    	} else
    	{
    		document.getElementById('Die ID des Divs').innerHTML = 'HTML-Code des zweiten Players';
    	}
    }
    Bei drei
    window.onload = function()
    {
    	var random = Math.random();
    
    	if(random < 1/3)
    	{
    		document.getElementById('Die ID des Divs').innerHTML = 'HTML-Code des ersten Players';
    	} else
    	if(random < 2/3)
    	{
    		document.getElementById('Die ID des Divs').innerHTML = 'HTML-Code des zweiten Players';
    	} else
    	{
    		document.getElementById('Die ID des Divs').innerHTML = 'HTML-Code des dritten Players';
    	}
    }
    und bei vier Playern
    window.onload = function()
    {
    	var random = Math.random();
    
    	if(random < 1/4)
    	{
    		document.getElementById('Die ID des Divs').innerHTML = 'HTML-Code des ersten Players';
    	} else
    	if(random < 2/4)
    	{
    		document.getElementById('Die ID des Divs').innerHTML = 'HTML-Code des zweiten Players';
    	} else
    	if(random < 3/4)
    	{
    		document.getElementById('Die ID des Divs').innerHTML = 'HTML-Code des dritten Players';
    	} else
    	{
    		document.getElementById('Die ID des Divs').innerHTML = 'HTML-Code des vierten Players';
    	}
    }


    Beitrag zuletzt geändert: 31.8.2011 23:37:04 von drafed-map
  10. Autor dieses Themas

    usertrend

    usertrend hat kostenlosen Webspace.

    drafed-map schrieb:
    Links muss der Variablenname stehen und rechts das, das in der Variable gespeichert werden soll.

    Außerdem muss man warten, bis das Dokument geladen ist, wenn man etwas mit dem Dokument machen will. Bei zwei Playern schreibst du
    window.onload = function()
    {
    	if(Math.random() < 0.5)
    	{
    		document.getElementById('Die ID des Divs').innerHTML = 'HTML-Code des ersten Players';
    	} else
    	{
    		document.getElementById('Die ID des Divs').innerHTML = 'HTML-Code des zweiten Players';
    	}
    }
    Bei drei
    window.onload = function()
    {
    	var random = Math.random();
    
    	if(random < 1/3)
    	{
    		document.getElementById('Die ID des Divs').innerHTML = 'HTML-Code des ersten Players';
    	} else
    	if(random < 2/3)
    	{
    		document.getElementById('Die ID des Divs').innerHTML = 'HTML-Code des zweiten Players';
    	} else
    	{
    		document.getElementById('Die ID des Divs').innerHTML = 'HTML-Code des dritten Players';
    	}
    }
    und bei vier Playern
    window.onload = function()
    {
    	var random = Math.random();
    
    	if(random < 1/4)
    	{
    		document.getElementById('Die ID des Divs').innerHTML = 'HTML-Code des ersten Players';
    	} else
    	if(random < 2/4)
    	{
    		document.getElementById('Die ID des Divs').innerHTML = 'HTML-Code des zweiten Players';
    	} else
    	if(random < 3/4)
    	{
    		document.getElementById('Die ID des Divs').innerHTML = 'HTML-Code des dritten Players';
    	} else
    	{
    		document.getElementById('Die ID des Divs').innerHTML = 'HTML-Code des vierten Players';
    	}
    }



    Vielen dank, es funktioniert super! :thumb:
    Du gibst super Hilfen, mach weiter so! :wink:

    Beitrag zuletzt geändert: 31.8.2011 23:49:28 von usertrend
  11. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!