2013-04-19 29 views
3

我正在開發WP8 HTML5遊戲,並試圖響應用戶選擇的主題。Windows Phone 8 HTML5應用程序和主題

我知道我可以使用背景標籤在CSS

body { 
    font-size: 11pt; 
    font-family: "Segoe WP"; 
    letter-spacing: 0.02em; 
    background-color: Background; 
    color: #FFFFFF; 
    margin- 
} 

所以,現在的背景,從黑到白的變化,但沒有文字的顏色,顯然是由於有其設置爲#FFFFFF

我試圖改變它在JavaScript中,但奇怪的是,當我嘗試document.body.style.backgroundcolor它返回「」,甚至使用由HEX或RGB設置的變量返回false。

任何人都有解決方案嗎?

回答

1

MainPage.xaml.cs中

private void Browser_Loaded(object sender, RoutedEventArgs e) 
{ 
    Browser.IsScriptEnabled = true; 

    // Add your URL here 
    Browser.Navigate(new Uri(MainUri, UriKind.Relative)); 



    Browser.Navigated += (o, s) => { 
     string theme = ((Visibility)Application.Current.Resources["PhoneLightThemeVisibility"] == Visibility.Visible) ? 
      "light" : "dark"; 

     Browser.InvokeScript("eval", String.Format("document.body.className += ' {0}'", theme)); 
    }; 

} 

phone.css

body { 
    font-size: 11pt; 
    font-family: "Segoe WP"; 
    letter-spacing: 0.02em; 
    background-color: Background; 
    margin-left: 24px; 
} 

.light { 
    color: #000000; 
} 

.dark { 
    color: #FFFFFF; 
} 
0

document.body.style.backgroundcolor拼錯......

嘗試:document.body.style.backgroundColor
用大寫C

要改變身體的TE彩色文本可以使用document.body.style.color


編輯:

順便說一句,有可能是一個更好的辦法來解決你的問題,如果你打算要改變很多css屬性,你應該創建css類,像這樣:

body { 
    /* default body css */ 
} 

.myFirstColorSet { 
    background-color: #FFF; 
    color: #000; 
    ... 
} 

.mySecondColorSet { 
    background-color: #000; 
    color: #FFF; 
    ... 
} 

然後用javascript,j烏斯切換體類

document.body.className = "mySecondColorSet"; 

下面是與本實施例的小提琴:http://jsfiddle.net/promatik/K75TG/

+0

抱歉,拼寫錯誤不是問題所在。如果我希望用戶從應用程序中更改主題,創建類將會非常棒,但是我在Windows Phone 8中構建了該主題,該主題由操作系統控制,並使用背景顏色傳遞給應用程序: 背景;和顏色:突出顯示;選項,但我正在尋找一些與顏色標籤中使用的背景相反的東西 – Torvos

0

雖然上述XAML的工作原理如此簡單jQuery腳本

<script> 
    if ($("body").css("background-color") == 'rgb(0, 0, 0)'){ 
     $("body").css("color","rgb(255, 255, 255)"); 
    } 
    else{ 
     $("body").css("color","rgb(0, 0, 0)"); 
    } 
    </script> 
相關問題