JQUERY切换更改价格和订单链接

时间:2012-01-30 13:55:21

标签: javascript jquery toggle slidetoggle

我尝试执行以下操作,使用以下查询更改显示价格和订单的直接链接。

function changepricing() {
    jQuery("#monthly").slideToggle();
    jQuery("#monthly1").slideToggle();
    jQuery("#montly2").slideToggle();
    jQuery("#monthly3").slideToggle();
    jQuery("#monthly4").slideToggle();
    jQuery("#halfyear").slideToggle();
    jQuery("#halfyear1").slideToggle();
    jQuery("#halfyear2").slideToggle();
    jQuery("#halfyear3").slideToggle();
    jQuery("#halfyear4").slideToggle();
    jQuery("#annual").slideToggle();
    jQuery("#annual1").slideToggle();
    jQuery("#annual2").slideToggle();
    jQuery("#annual3").slideToggle();
    jQuery("#annual4").slideToggle();
    jQuery("#biannual").slideToggle();
    jQuery("#biannual1").slideToggle();
    jQuery("#biannual2").slideToggle();
    jQuery("#biannual3").slideToggle();
    jQuery("#biannual4").slideToggle();
    jQuery("#prcmonthly1").slideToggle();
    jQuery("#prcmonthly2").slideToggle();
    jQuery("#prcmonthly3").slideToggle();
    jQuery("#prcmonthly4").slideToggle();
    jQuery("#prchalfyear1").slideToggle();
    jQuery("#prchalfyear2").slideToggle();
    jQuery("#prchalfyear3").slideToggle();
    jQuery("#prchalfyear4").slideToggle();
    jQuery("#prcannual1").slideToggle();
    jQuery("#prcannual2").slideToggle();
    jQuery("#prcannual3").slideToggle();
    jQuery("#prcannual4").slideToggle();
    jQuery("#prcbiannual1").slideToggle();
    jQuery("#prcbiannual2").slideToggle();
    jQuery("#prcbiannual3").slideToggle();
    jQuery("#prcbiannual4").slideToggle();
}   

是代码

显示和更改价格:

    <li id="monthly" class="pricing_header2" style="display:block;"><a href="#" onclick="changepricing();return false;"><span>1 Month </span></a></li>
    <li id="halfyear" class="pricing_header2" style="display:none;"><a href="#" onclick="changepricing();return false;"><span>6 Months </span></a></li>
    <li id="annual" class="pricing_header2" style="display:none;"><a href="#" onclick="changepricing();return false;"><span>{$LANG.product_choose_one} </span></a></li>
    <li id="biannual" class="pricing_header2" style="display:none;"><a href="#" onclick="changepricing();return false;"><span>{$LANG.product_choose_two} </span></a></li>

显示价格和订单链接:

        <li id="monthly1" class="pricing_header2" style="display:block;">&euro;1 <span>/1 mo.</span></li>
        <li id="halfyear1" class="pricing_header2" style="display:none;">&euro;2 <span>/6 mos.</span></li>
        <li id="annual1" class="pricing_header2" style="display:none;">&euro;3 <span>/One yr.</span></li>
        <li id="biannual1" class="pricing_header2" style="display:none;">&euro;4 <span>/Two yrs.</span></li>

        <li id="prcmonthly1" class="pricing_footer" style="display:block;"><span><a href="link1" class="pricing_button">{$LANG.product_buy_now}</a></li>
        <li id="prchalfyear1" class="pricing_footer" style="display:none;"><span><a href="link2" class="pricing_button">{$LANG.product_buy_now}</a></li>
        <li id="prcannual1" class="pricing_footer" style="display:none;"><span><a href="link3" class="pricing_button">{$LANG.product_buy_now}</a></li>
        <li id="prcbiannual1" class="pricing_footer" style="display:none;"><span><a href="link4" class="pricing_button">{$LANG.product_buy_now}</a></li>

如果我只使用2种产品但使用3或4种产品不起作用,则上述代码可以正常工作。有人可以帮忙吗?我真的很感激。

谢谢, 曼努埃尔

2 个答案:

答案 0 :(得分:1)

哇!

我可以建议在可切换的项目上添加另一个类(例如<li class='pricing_header2 toggleable'>)并使用此JS代码:

 $('.toggleable').slideToggle();

答案 1 :(得分:1)

如果你为每个产品设置了一组这些div,那么我真的在徘徊它是如何为2个产品工作的?正如MikaelHärsjö所说的那样,在处理项目列表时使用类而不是id。你不能有更多的div id =“foo”,但你可以拥有无​​限的div class =“foo”。

所以,我设法完成了这个功能:

function changepricing(_from, _to) {
  for(i=0; i<=4; i++) {
    if(i == 0) {
      nr = '';
    }
    else {
      nr = i;
    }
    jQuery("#"+_from+nr).slideToggle();
    jQuery("#"+_to+nr).slideToggle();
  }
}

为了使其发挥作用,您必须使用以下方式拨打电话:

<li id="monthly" class="pricing_header2" style="display: block;">
  <a onclick="changepricing('monthly', 'halfyear');return false;" href="#">
    <span>1 Month </span>
  </a>
</li>