2012-02-22 35 views
1

我正在爲頁面編寫腳本,用戶可以在其中將文本添加到圖像。好三個要素是:根據所選的選項更改實際的css字體

  1. 他們可以選擇字體
  2. 他們可以選擇字體
  3. 他們可以輸入自己的文本的顏色。

的選擇選項是:

<select id="selectafont" name="selectafont" style="width: 200px;" class="required"> 
<option value="null">-- Select a Font ... --</option> 
<option value="folksbold">Folks Bold</option> 
<option value="arial">Arial</option> 
<option value="tahoma">Tahoma</option> 
<option value="verdana">Verdana</option> 
<option value="comicsans">Comic Sans</option> 
<option value="ubuntu">Ubuntu</option> 

顏色(我們使用jscolor.com)拾色器。 它的元素是:

<input id="pick_a_color" class="color" value="f12b63"> 

input元素和JS我有工作,但其常規輸入元素。當你鍵入更新另一個div內的文本。

如何添加顏色(從彩色)的值選擇器和字體的DIV的CSS。

因此,可以說我的輸入元素是:

<input name="add_my_text" class="add_my_text" id="add_my_text" type="text" placeholder="Enter your Text..."> 

而且JS來控制這一點,它apend到一個div是:

$(document).ready(function() { 
//ad title 
$("#add_my_text").keyup(function() 
    { 
    var add_my_text=$(this).val(); 
    $(".add_my_text").html(add_my_text); 
    return false; 
    }); 
}); 

以便在與內容頁面更新一個div在輸入元素中鍵入。 其中的CSS是:

.add_my_text { 
position:absolute; 
left:150px; 
top:40px; 
font-size:18px; 
} 

我想要做的就是在上面的div類(動態改變字體顏色和字體家庭

+0

我不知道我理解你的問題。當用戶從上面的選擇中選擇/更改顏色/字體時,是否要更改每個具有類.add_my_text的div的字體+顏色? – 2012-02-22 00:50:07

+1

還有另一個SO線程可能會對你有用http://stackoverflow.com/questions/622122/how-can-i-change-the-css-class-rules-using-jquery(請參閱條目在大膽的「概念證明」) – 2012-02-22 01:00:01

回答

1

像這樣的字體:

$("#selectafont").change(function(){ 
    var font = $(this).val(); 
    if (font !== "null") 
     $(".add_my_text").css("font-family", font); 
}); 

和類似的顏色選擇(對不起,我不熟悉jscolor.com顏色選擇器)。

+0

這在很大程度上依賴於客戶端字體(所以我要去使用的字體,我們必須在服務器上),所以你可以幫助我們指出這些字體的字體,例如協助/宋體。ttf等作爲例子,這樣我們可以更新字體樣式,從基於服務器的css類或許..因此我變得困惑。關於顏色選擇器..當你改變顏色:通過更新的螢火蟲輸入如下: 422 2012-02-22 01:10:19

+0

嘗試使用:$(」#pick_a_color「)。change(function(){ var color = $(this ).val(); if(color!==「null」) $(「。add_my_text」)。css(「background-color」,color); });不工作壽。 – 422 2012-02-22 01:24:42

2

沒有測試下面的代碼,但如果我理解你在找什麼,這應該工作:

$(document).ready(function() { 
    //ad title 
    $("#add_my_text").keyup(function() 
    { 
    var add_my_text = $(this).val(); 
    $(".add_my_text").html(add_my_text); 
    return false; 
    }); 
    $('#selectafont').change(function() 
    { 
    var selected = $(this).val(); 
    if (selected != "null") 
    { 
     $('.add_my_text').css('font-family', selected); 
    } 
    }); 
    $('#pick_a_color').change(function() 
    { 
     $('.add_my_text').css('color', '#'+$(this).val()); 
    }); 
}); 
+0

三江源利奧爾·科恩 – 422 2012-02-22 01:31:09

+0

你是最歡迎 – 2012-02-22 01:31:48

+0

+1比我的更完整的答案。請注意,您可以直接使用'$(this).val()'獲得選擇的當前值 - 您不必擔心找到哪個選項。 – nnnnnn 2012-02-22 02:00:39