php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.04.2011, 13:28  
Neuer Benutzer
 
Registriert seit: 18.08.2008
Beiträge: 8
outlaw befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] mit php generiertes js auslagern

Hallo Forum

In einem Script, das ich verwende, wird mit PHP ein Javascript zusammengesetzt.
Code:
<script type="text/javascript">
<?php echo''; ?>
javascriptcode
...
</script>
Nun würde ich dieses Javascript gerne in eine js-Datei auslagern.

Ist das möglich? Wenn ja, wie kann ich dies verwirklichen?
outlaw ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.04.2011, 13:41  
Neuer Benutzer
 
Registriert seit: 18.08.2008
Beiträge: 8
outlaw befindet sich auf einem aufstrebenden Ast
Standard

Ich habe durch einen Tip in einem Forum erfahren, dass man php-Dateien als js einbinden kann. Damit hat sich meine anfrage erledigt.
outlaw ist offline   Mit Zitat antworten
Alt 06.04.2011, 11:20  
Erfahrener Benutzer
 
Benutzerbild von Andreas
 
Registriert seit: 22.04.2005
Beiträge: 391
Andreas ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wobei ich es Quatsch finde, bei jedem Seitenaufruf PHP zu starten, wenn immer der gleiche JavaScript-Code generiert wird.

Dann solltest du besser eine JS-Datei schreiben.
Andreas ist offline   Mit Zitat antworten
Alt 06.04.2011, 11:58  
Neuer Benutzer
 
Registriert seit: 18.08.2008
Beiträge: 8
outlaw befindet sich auf einem aufstrebenden Ast
Standard

Hallo Andreas

Dein Einwand verstehe ich, jedoch geht dies hier nicht.

Ich werde etwas konkreter:
Ich arbeite an einem Joomla-Projekt und habe im Banner das Modul Slidehorizon eingebaut. Dieses Modul bewirkt, dass aus Bilder die in einem Verzeichnis liegen bei jedem Neuladen der Seite eine bestimmte Anzahl zufällig ausgewählt werden und dann von rechts nach links laufen. Deshalb sieht das Javascript jedes mal wieder anders aus.

Allerdings will das mit dem Auslagern nicht klappen, denn sobald ich den Javascript-Code auslagere kommt, wenn ich die Datei direkt aufrufe die Fehlermeldung "Parse error: syntax error, unexpected T_ECHO in /joomla15/modules/mod_slidehorizon/js.php on line 2".

Dies finde ich sonderbar, da es ja wunderbar funktioniert, wenn es nicht ausgelagert ist...

Aber dafür muss ich wohl ein neues Thema erstellen.
outlaw ist offline   Mit Zitat antworten
Alt 06.04.2011, 12:43  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Das ist aber doof gebaut, da könnte man für das JS auch die Gesamtmenge hinterlegen, und das Script sucht sich selber (ohne Reload) eine Teilmenge aus...
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 06.04.2011, 14:40  
Neuer Benutzer
 
Registriert seit: 18.08.2008
Beiträge: 8
outlaw befindet sich auf einem aufstrebenden Ast
Standard

Hm, wenn du es sagst... Ich habe praktisch keine Ahnung von JavaScript und nur wenig von PHP... Leider wird dieses Modul auch nicht mehr weiterentwickelt und ein anderes Modul, das das selbe kann, habe ich bis jetzt nicht gefunden.

Ich hab mir das Script jetzt so umgebastelt, dass ich es ins Template integrieren kann (dafür kann ich die Einstellungen nicht mehr im Backend vornehmen,da ich bei dieser Variante auf die datei helpers.php verzichte, in der die ganzen PHP-Funktionen sind und somit wird der Bilderordner leider auch nicht mehr automatisch ausgelesen...):

in der index.php:
Code:
<script language="JavaScript" type="text/javascript" src="modules/mod_slidehorizon/js.php"></script>
die Datei js.php:
Code:
var leftrightslide=new Array();
<? 
/* Schlaufe */
$anzahl = 5;
$count = 0;
while($count < $anzahl)
    {
        $zufallszahl = rand(1,15); 
        echo 'leftrightslide['.$count.']= "background-image:url(images/slidehorizon/justknow/justknow'.$zufallszahl.'.jpg); width:313px; height:237px; background-repeat:no-repeat"'."\n";
        $count++;    
    }
?>

var stopmouse=0
var slidespeed=1
var sliderheight="227px"
var sliderwidth="910px"
var slidedirection="left"
var sumwidth="1568"
var sumheight="1185"
var gap=""
var container_width="910"
var container_height="227"
var mouseappend="";

if(stopmouse == 1){
    var mouseappend='onMouseover="copyspeed=0" onMouseout="copyspeed=slidespeed"';
    }

slidebgcolor= "#2a2f32"

var leftright = new Array (leftrightslide.length);

for(i=0;i<leftrightslide.length;i++){
leftright[i]='<span id="einzelbild_'+i+'" style="float:left; margin:0px; border:0px;'+leftrightslide[i]+'"></span>';
}

var copyspeed=slidespeed;
var iedom=document.all||document.getElementById;

if (iedom){
var tmp = "";
innerslide=leftright=leftright.join(" "); 
leftright = '<div id="slidehori_temp" style="position:absolute; width:'+sumwidth+'px; top:-100px; left:-9000px">'+leftright+'</div>';
document.write(leftright)
}

function fillup(){
if (iedom){
cross_slide=document.getElementById? document.getElementById("slidehori_rotator_1") : document.all.slidehori_rotator_1
cross_slide2=document.getElementById? document.getElementById("slidehori_rotator_2") : document.all.slidehori_rotator_2
cross_slide.innerHTML=cross_slide2.innerHTML=innerslide
actualwidth=document.all? cross_slide.offsetWidth : document.getElementById("slidehori_temp").offsetWidth
actualheight=document.all? cross_slide.clientHeight : document.getElementById("slidehori_rotator_1").clientHeight

lefttime=setInterval("slide()",40);

cross_slide2.style.left=actualwidth+"px"

}
}

window.onload=fillup

function slide(){
if (iedom){
if (parseInt(cross_slide.style.left)>(actualwidth*(-1)))
cross_slide.style.left=parseInt(cross_slide.style.left)-copyspeed+"px"
else
cross_slide.style.left=parseInt(cross_slide2.style.left)+actualwidth+"px"
if (parseInt(cross_slide2.style.left)>(actualwidth*(-1)))
cross_slide2.style.left=parseInt(cross_slide2.style.left)-copyspeed+"px"
else
cross_slide2.style.left=parseInt(cross_slide.style.left)+actualwidth+"px"
}
}

if (iedom||document.layers){
with (document){
document.write('<table border="0" cellspacing="0" cellpadding="0"><td>')
if (iedom){
write('<div id="slidehori_border" style="text-align: center; position: relative; border: 0;margin: 0;padding: 0px ;background-color:'+slidebgcolor+';overflow:hidden">')

write('<div id="slidehori_container" style="text-align:center; position:relative; border:0px; margin:0px; padding:0px; width:'+sliderwidth+'; height:'+sliderheight+';background-color:'+slidebgcolor+'; overflow:hidden">')
write('<div id="slidehori_stopmouse" style="border:0px; margin:0px; padding:0px; position:relative; width:'+sliderwidth+'; height:'+sliderheight+'; background-color:'+slidebgcolor+'; overflow: hidden"'+mouseappend+'>')

if(slidedirection == "up" || slidedirection == "down"){
    write('<div id="slidehori_rotator_1" style="border:0px; margin:0px; padding:0px; position:absolute; left:0px; top:0px; background-color:'+slidebgcolor+'; overflow:visible; display:inline"></div>')
    write('<div id="slidehori_rotator_2" style="border: 0px;margin: 0px;padding: 0px; position: absolute; left: 0px; top: 0px; background-color:'+slidebgcolor+'; overflow:visible; display:inline"></div>')
}
else{
    write('<div id="slidehori_rotator_1" style="border:0px; margin:0px; padding:0px; position:absolute; left:0px; top:0px; width:'+sumwidth+'px; height: '+sliderheight+'; background-color:'+slidebgcolor+'; overflow:visible; display:inline"></div>')
    write('<div id="slidehori_rotator_2" style="border: 0px;margin: 0px;padding: 0px; position: absolute; left: 0px; top: 0px; width:'+sumwidth+'px; height: '+sliderheight+'; background-color:'+slidebgcolor+'; overflow:visible; display:inline"></div>')
}
write('</div></div></div>')
}
document.write('</td></table>')
}
}

Geändert von outlaw (06.04.2011 um 14:44 Uhr).
outlaw ist offline   Mit Zitat antworten
Alt 07.04.2011, 10:34  
Erfahrener Benutzer
 
Benutzerbild von Andreas
 
Registriert seit: 22.04.2005
Beiträge: 391
Andreas ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ersetze das:

PHP-Code:
var leftrightslide=new Array();
<? 
/* Schlaufe */
$anzahl 5;
$count 0;
while(
$count $anzahl)
    {
        
$zufallszahl rand(1,15); 
        echo 
'leftrightslide['.$count.']= "background-image:url(images/slidehorizon/justknow/justknow'.$zufallszahl.'.jpg); width:313px; height:237px; background-repeat:no-repeat"'."\n";
        
$count++;    
    }
?>
mal durch das, und versuche zu verstehen, was passiert, damit du es bei Fehlern modifizieren kannst. Ich konnte es nicht testen:

Code:
function rand( min, max ) {
	if( min > max )
		return null;
	if( min == max )
		return min;
    return (min + parseInt( Math.random() * ( max-min+1 ) ));
}

var zufallszahl;
var leftrightslide = new Array();

for(var i=0;i<5;i++) {
	zufallszahl = rand(1,15);
	leftrightslide.push('background-image:url(images/slidehorizon/justknow/justknow' + zufallszahl + '.jpg); width:313px; height:237px; background-repeat:no-repeat;');
}
Andreas ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
?section=xxx aus index.php auslagern ?? lordcyphon PHP Tipps 2009 11 07.11.2009 01:05
[Erledigt] Tabellenlayout: Große Felder auslagern? boernard Datenbanken 7 27.07.2009 14:03
[Erledigt] For-Schleife für DB-Abfrage auslagern? Sermon PHP Tipps 2009 18 20.03.2009 19:14
Generiertes PNG-Bild in Verzeichnis speichern Timer PHP Tipps 2008 4 15.12.2008 10:52
Funktionen auslagern mafra PHP Tipps 2008 10 15.03.2008 09:24
Abfrage in Funktion auslagern - lohnt sich das? tayke Datenbanken 4 15.11.2007 23:36
Auslagern von Menü & Header SoulDream PHP Tipps 2008 3 07.11.2007 13:23
DB-Verbindungsaufbau auslagern? ark1707 PHP Tipps 2008 1 12.09.2007 08:04
Problem mit Javascript: lässt sich nicht auslagern blinkster.de HTML, Usability und Barrierefreiheit 2 01.10.2005 15:20
[Erledigt] Funktionssammlung auf externen Server auslagern PHP Tipps 2005 20 29.05.2005 14:04
SQL in Funktion auslagern PHP Tipps 2005 8 20.05.2005 21:47
Programmteile auslagern juhuwoorps PHP Tipps 2005 16 14.03.2005 10:13
Teile des Quellcodes auslagern PHP Tipps 2005 13 23.02.2005 18:34
Klassenmethoden auslagern und includen PHP-Fortgeschrittene 16 20.01.2005 18:03
generiertes pdf auf server speichern jens76 PHP-Fortgeschrittene 9 20.07.2004 11:15

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php-generiertes js einbinden, leftrightslide[i ] =, if(stopmouse == 1){ var mouseappend='onmouseover=copyspeed=0 onmouseout=copyspeed=slidespeed'; }, slidehorizon im beitrag, javascript auslagern php, php javascript auslagern, ajax php ausgelagerte js datei, generiertes javascript ausführen

Alle Zeitangaben in WEZ +2. Es ist jetzt 09:37 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum