0

テキストのサイズを増減するスクリプトを作成しました (以下を参照)。ただし、問題は、画像の 1 つをクリックしてパラメーターを渡すと、テキストが同じサイズのままであることです。menos

<script>

function increase_text(size,mode) {

    var size_ini=16;
    var size_max=20;
    var size_min=16;


    if (mode=="mas")
    {
        var size_increase = size_ini++;

        alert("ok"+size_increase);

        if (size_increase<20)
        {
            $(".content").css("font-size",""+size_increase+"px");
        }
        else
        {
            $(".content").css("font-size",""+size_max+"px");
        }
    }


    if (mode=="menos")
    {
        var size_increase = size_ini--;

        if (size_increase>=20 || size_increase>=size_min)
        {
            $(".content").css("font-size",""+size_increase+"px");
        }
        else
        {
            $(".content").css("font-size",""+size_min+"px");
        }
    }
}
</script>

マークアップ

<div style="position:relative;width:100%;border:0px solid;height:40px;">
<img src="http://127.0.0.1/tfw_end/wp-content/themes/thefactoyweb/images/text_decrease.png" onclick="increase_text('1','menos');" style="display:block;float:right;cursor:pointer;cursor:hand;" alt="Aumentar Texto" title="Aumentar Texto">
<img src="http://127.0.0.1/tfw_end/wp-content/themes/thefactoyweb/images/text_increase.png" onclick="increase_text('1','mas');" style="display:block;float:right;cursor:pointer;cursor:hand;" alt="Reducir Texto" title="Reducir Texto"></div>

http://jsfiddle.net/Wn6YJ/

よろしく

4

4 に答える 4

0


1.がローカル変数であるという複数の問題があります。これは、2size_iniの呼び出しごとにリセットされることを意味increase_text
します。インクリメント/デクリメント ロジックにも問題がありsize_iniます。許可されているよりもはるかに大きなフォントで表示されます。size_maxdecrease

使用する

var size_ini = 16;
var size_max = 20;
var size_min = 16;

function increase_text(size, mode) {
    if (mode == "mas") {
        size_ini = size_ini >= size_max ? size_max : size_ini + 1;
    } else if (mode == "menos") {
        size_ini = size_ini <= size_min ? size_min : size_ini - 1;
    }
    $(".content").css("font-size", size_ini + "px");
}

デモ:フィドル

于 2013-04-05T03:06:07.353 に答える
0

コードにはいくつかの機能がありません。

  1. onclick="function() {}"jsfiddler では、スコープの問題により使用を避ける必要があります。$("img#reduce").click(function() {});代わりに使用してください。
  2. 関数スコープでを開始するため、画像をクリックすると、コードは初期値のようにはなりませんsize_ini。それでも機能しない場合は、コードを修正して投稿できる場合に最適です。16size_ini
于 2013-04-05T03:06:47.320 に答える
0

書き直しました。 http://jsfiddle.net/Wn6YJ/1/を参照してください

いくつかの問題があります。init値を入れるべきではありません。入れるとfunction、毎回functioninit

于 2013-04-05T03:24:40.060 に答える