leanModal在没有.click()的情况下启动

时间:2011-07-15 05:05:24

标签: jquery if-statement javascript

我正在使用leanModal http://leanmodal.finelysliced.com.au需要启动它来打开div但没有.click()方法。基本上我正试图这样做..

  if(cartItems === 0){
    $("#cartEmpty").leanModal(); // #cartEmpty is my div with the message that needs to be initiated.
  } else {
    $("#nextStep").leanModal(); // #nextStep is my div is the form 
  }

关于这个的任何想法?

1 个答案:

答案 0 :(得分:19)

我通过source code戳了一下leanmodal,看起来你不能。你仍然需要一个触发它的链接。但是,您应该可以执行以下未经测试的顶级代码

添加几个不可见的链接。内联样式是一件坏事,只是内联简化

<a href="#cartEmpty" id="showCartEmpty" style="display:none" rel="leanModal" name="cartEmpty">empty cart</a>
<a href="#nextStep" id="showNextStep" style="display:none" rel="leanModal" name="nextStep">next step</a>

进行leanmodal的正常设置

$(function() {
    $('a[rel*=leanModal]').leanModal();     
});

调用虚拟隐形链接上的click方法

  if(cartItems === 0){
    $("#showCartEmpty").click(); // in theory this'll cause the modal to be shown
  } else {
    $("#showNextStep").click(); // in theory this'll cause the modal to be shown
  }

如果失败了,源代码非常小,你应该能够将它与自己的项目纠缠在一起并修改它以便在要模拟的东西上调用,而不是启动模态的东西