2011-11-11 10 views
0

私はC#アプリケーションを開発中です。 xslを使用してxmlコンテンツをhtmlに変換します。ファイルがHTMLに変換されると私は1 2と3でclikingでフォントサイズを変更したいと思います。ユーザーが1フォントサイズをクリックすると9pt、2 11ptと3で13ptになります。私はjavascriptを使用してこれを行うことはできますか?そして、それは、ファイルがHTMLに変換されるときに、そのjavascript関数を持つように、xslの内部にそのjavascript関数を追加することは可能ですか? これについて完全に説明してください。前もって感謝します。ユーザーができる場合
JavaScriptを使用してフライ・フォント・サイズを変更

EDIT

答えて

0

JavaScriptをCDATAに挿入する必要があります。それ以外の場合は、ボディーのサイズを変更するアンカーを書くだけです。fontSizeスタイル。

<![CDATA[ 
<script> 
window.onload = function() { 

    var fontchange = document.createElement("div"); 
    var fontchangelink = function(fontsize, desc) { 
     var a = document.createElement('a'); 
     a.href="#"; 
     a.style.margin = "5px"; 
     a.onclick = function() { 
     document.body.style.fontSize = fontsize + 'pt'; 
     }; 
     a.innerHTML = desc; 
     return a; 
    }; 
    fontchange.appendChild(document.createTextNode("Change font size:")); 
    fontchange.appendChild(fontchangelink(9, "1")); 
    fontchange.appendChild(fontchangelink(11, "2")); 
    fontchange.appendChild(fontchangelink(13, "3"));  

    document.body.insertBefore(fontchange, document.body.childNodes[0]); 
}; 
</script> 
]]> 

あなたはそれをよりよくスタイルが、ここではそれがどのように見えるかだ可能性:

Example Output

0

あなたが例えばスパンのように、コンテナのいくつかの並べ替えにコンテンツをレンダリングしていると仮定すると、あなたはこのような何かを行うことができるはずドロップダウンなどのサイズを選択するには、オプション値を実際のサイズ(ポイント単位)に設定します。

changeFontSize = function(size){ 
    var el = document.getElementById("container"); 
    if (el){ 
     el.style.fontSize = size + "pt"; 
    } 
} 
0

まず、理論上は可能です。しかし、最初にいくつかのことを保証する必要があります。

  1. ページのフォントがすべて相対的であることを確認してください。これは、すべてが100%、150%、1.2emなどのフォントサイズを使用し、12px、10ptなどではないことを意味します。
  2. スクリプトがHTMLで最後にロードされたノードであるか、テキストは本文のonloadイベントによって起動されます。

このプロセスは簡単です。 body要素のフォントサイズを変更する関数を作成できます。 すべてが相対的なので、これはすべての要素に影響します。 (例えば、本文のフォントを12pxに設定すると、150%に設定されたものは18pxになります)。これを行うには

簡単な関数は、このようなことができます:

function changeFont(sizeInPixels) 
{ 
    document.body.style.fontSize = sizeInPixels + "px"; 
} 

してからちょうど適切なパラメータを持つボタン/リンクをイベントとしての機能を追加します。

関連する問題