0

我创建了一个脚本,它应该增加或减小文本的大小(如下所示),但问题是当我单击其中一个图像并传递参数时,文本的大小保持不变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

1

我认为问题在于您没有size在任何地方使用脚本中的变量,而是使用了其他变量(但从不使用那个变量)。

Creo que la questiona es que nousas el variable sizeen tu código en ninguna parte

于 2013-04-05T02:46:17.290 回答
0

有多个问题
1.size_ini是一个局部变量,这意味着它在每次调用increase_text
2 时都会重置。您的增量/减量逻辑也存在问题,即使它size_ini超过size_max了保持增量,所以在下一次decrease单击文本将以比允许的大得多的字体显示。

采用

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 回答