如何将这个代码从2个函数应用到1个函数?

时间:2015-01-20 07:04:35

标签: javascript jquery

如何将这个代码从2个函数应用到1个函数?

首先,对于show元素,我使用show_box(value)函数。

然后对于hide元素我使用hide_box(value)函数。

现在我想申请1项功能,我该怎么做?

http://jsfiddle.net/k0rphh1e/

<script LANGUAGE="JavaScript">
function show_box(value)
{
    var array_val = value.split("-");
    $("#box-"+array_val[1]).stop().animate({left: '47px' , opacity: 1}, 100); 
}
</script>

<script LANGUAGE="JavaScript">
function hide_box(value)
{
    var array_val = value.split("-");
    $("#box-"+array_val[1]).stop().animate({left: '27px' , opacity: 0}, 100); 
}
</script>

3 个答案:

答案 0 :(得分:3)

您可以在一个函数中传递参数

ex: show_box("111-1",27px,1); // you can pass argument 
function show_box(value,leftvalue,opa)
{
    var array_val = value.split("-");
    $("#box-"+array_val[1]).stop().animate({left: leftvalue , opacity: opa}, 100); 
}

<强> DEMO

答案 1 :(得分:2)

使用data-*属性定位#并使用display:none;隐藏您的BOX

&#13;
&#13;
$("[data-tog]").hover(function(){
    $("#box-"+ $(this).data("tog").split("-")[1]).stop().fadeToggle();
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="like" data-tog="111-1" style="cursor: pointer;">TEST 1</div>
<div id="box-1" style="display:none;">BOX 1</div>

<div class="like" data-tog="111-8" style="cursor: pointer;">TEST 8</div>
<div id="box-8" style="display:none;">BOX 8</div>
&#13;
&#13;
&#13;

答案 2 :(得分:1)

试试这个

function show_box(value,type)
{
    var array_val = value.split("-");
    if(type=='show')
    {
        $("#box-"+array_val[1]).stop().animate({left: '47px' , opacity: 1}, 100);}
    else
    {
    $("#box-"+array_val[1]).stop().animate({left: '27px' , opacity: 0}, 100); 
    }
}

Demo