Kan jag använda .js i en php-fil? [LÖST]

Permalänk
Medlem

Kan jag använda .js i en php-fil? [LÖST]

Hej!

Jag ahr en hemsida som jag håller på att uppdatera för en ideell organisation. Det visar sig att den är i html, med meny, sidfot och löpsedel på varje sida. Jag har min egen hemsida i php, där jag kallar meny och sidfot från separata filer så att det blir lättare när man ändrar i menyn t.ex. Samma sak tänkte jag göra med organisationens hemsida, men här stöter jag på problem. Sidan är som sagt html, och kodad så att menyn behöver ett antal -js för att fungera korrekt.

Kod i slutet av index.html:
...
</footer>
</div>
<!-- javascript at the bottom for fast page loading -->
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.easing-sooper.js"></script>
<script type="text/javascript" src="js/jquery.sooperfish.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('ul.sf-menu').sooperfish();
$('.top').click(function() {$('html, body').animate({scrollTop:0}, 'fast'); return false;});
});
</script> -->
</body>
</html>

Hur plockar jag över detta till min php-fil? Jag har provat, men får felmeddelande "Parse error: syntax error, unexpected '(', expecting T_VARIABLE or '$' in ...../index.php on line 33" vilket är raden $('.top').click(function() {$('html, body').animate({scrollTop:0}, 'fast'); return false;});

Snälla hjälp, någon!!!

Tack på förhand
//Stefan

[LÖST]
Permalänk
Hedersmedlem

Du infogar det i din PHP-fil som vilken HTML som helst. Jag kan tänka mig att det är citat-tecknen som ställer till det. Men sådana problem kan man ju få med vilken HTML som helst.

Edit:
Jag utgår ifrån att det är PHP som ger dig de där felen.

Visa signatur

Använd gilla för att markera nyttiga inlägg!

Permalänk
Medlem

<?php $randomString = "body_class"; ?>

<body class="<?php echo $randomString; ?>">

</body>

Visa signatur

^^,)

Permalänk
Medlem

Så här ser php-filen ut i slutet

...
echo " </footer>";
echo " </div>";
echo " <script type='text/javascript' src='js/jquery.js'></script>";
echo " <script type='text/javascript' src='js/jquery.easing-sooper.js'></script>";
echo " <script type='text/javascript' src='js/jquery.sooperfish.js'></script>";
echo " <script type='text/javascript'>
$(document).ready(function() {
$('ul.sf-menu').sooperfish();
$('.top').click(function() {$('html, body').animate({scrollTop:0}, 'fast'); return false;});
});
</script>";
echo "</body>";
echo "</html>";
?>

Och den ger alltså felmeddelandet "Parse error: syntax error, unexpected '(', expecting T_VARIABLE or '$' in ...../index.php on line 33" vilket är raden $('.top').click(function() {$('html, body').animate({scrollTop:0}, 'fast'); return false;});

Permalänk
Hedersmedlem
Skrivet av bloste:

Så här ser php-filen ut i slutet

...
echo " </footer>";
echo " </div>";
echo " <script type='text/javascript' src='js/jquery.js'></script>";
echo " <script type='text/javascript' src='js/jquery.easing-sooper.js'></script>";
echo " <script type='text/javascript' src='js/jquery.sooperfish.js'></script>";
echo " <script type='text/javascript'>
$(document).ready(function() {
$('ul.sf-menu').sooperfish();
$('.top').click(function() {$('html, body').animate({scrollTop:0}, 'fast'); return false;});
});
</script>";
echo "</body>";
echo "</html>";
?>

Och den ger alltså felmeddelandet "Parse error: syntax error, unexpected '(', expecting T_VARIABLE or '$' in ...../index.php on line 33" vilket är raden $('.top').click(function() {$('html, body').animate({scrollTop:0}, 'fast'); return false;});

Skriver du ut hela HTML-filen med `echo`-konstruktionen? Sluta med det!

Lämna enklast PHP-omgivningen när du ska skriva ut HTML/Javascript. Demonstration:

<?php if ($age < 18) { ?> <p class="denied">Tyvärr, sidan är bara tillgänglig för de över 18. <?php } else { ?> <p class="welcome">Välkommen in, du myndiga person! <?php } ?>

Lämna alltså PHP-omgivningen innan du skriver dina Javascript-rader. Det går att lösa ändå genom att escape:a specialtecken (det som förstör för dig här är `$`, som PHP tolkar som en ansats till en PHP-variabel i din `echo`-utskrift), men det är en massa jobb för ingen nytta, och ger svårläst kod, vilket är det sista man vill ha.

Visa signatur

Nu med kortare användarnamn, men fortfarande bedövande långa inlägg.

Permalänk
Medlem
Skrivet av phz:

Skriver du ut hela HTML-filen med `echo`-konstruktionen? Sluta med det!

Lämna enklast PHP-omgivningen när du ska skriva ut HTML/Javascript.

Stort tack!!!

//Stefan