Jquery ve CSS anahtarlama - Bu mümkün mü?

4 Cevap php

Bana kolayca birçok elemanların rengini özelleştirmek için olanak sağlayan PHP kullanarak bir css dosyası oluşturmak. Bana stil "yeniden" ve jQuery kullanarak DOM sayfaya uygulamak için mümkün mü?

örn.

<?php
if (isset($_POST['mycolor'])){
$myColor = $_POST['mycolor'];
} else {
$myColor = "blue";
}
?>

<style type='text/css'>
    .style1{
    color:<?php $myColor;?>;
    }
</style>

Şimdi sayfamda ben "kırmızı renk değişikliği" adı tıklayabilirsiniz bir bağlantı var ve tıkladığınızda "kırmızı" it style1 dahil css oluşturur benim php komut dosyası, göndermek bir $ yapar -.. Ve sayfa değiştirmenize olanak sağlar stil.

Ben bu test değil ama o bile çalışmak istiyorsunuz? Ben dom içine mesajdan sonra yeni stil dışarı echo'ed eğer ... hatta sayfa için geçerli olur?

4 Cevap

Bütün stil oluşturulan php eğer böyle bir şey yapabilirsiniz:

function newCSS(params){
  $("link[href*=myStyles.php]:last").after('<link href="myStyles.php?'+ params +'" type="text/css" rel="Stylesheet" />');
  $("link[href*=myStyles.php]:first").remove();
}

Yüklenince bir kez bu yeni biri ile baş linkin yerini ... Yeni stiller etkisini alacaktır.

Sen elemanları farklı css özelliklerini ayarlamak için css işlevini kullanabilirsiniz:

$('.style1').css('color', 'red');

Ben bir php dosyası olarak dinamik css oluşturmak için tavsiye. Burada daha fazla bilgi: http://www.barelyfitz.com/projects/csscolor/

EDIT: Here's an improved solution using selector provided by Nick:

$("link[href*=myStyles.php]").attr('href','myStyles.php');

Hiç LESS duydum, ben bilmiyorum. Bu mümkün sizin CSS "değişkenleri" olması için yapar güzel bir araçtır. Hangi gerçekten isteyen ne gibi görünüyor.

This blog post, hangi size yardımcı olmalıdır bakabilirsiniz.