jQuery .width()检测

时间:2010-11-09 00:33:42

标签: jquery width

我只是想知道是否有更好的方法来检测每个.modal元素的宽度(在该标记中可能有N个)。

按照我现在的方式,似乎只使用了标记中第一个.modal的.width()。

<script type="text/javascript">
    $(document).ready(function() {
        $(".modal").hide();
        $(".modal-links a").each(function(i,o){
          $(this).click(function(popUp){
            var modalWidth = $(".modal").width();
            var modalHeight = $(".modal").height();
            $(".modal").css({
             "margin-left":-(modalWidth/2) 
            });
            $(".modal:eq("+i+")").show().siblings(".modal").hide();
          });
        });
    });</script>

1 个答案:

答案 0 :(得分:1)

您希望在.modal的开头获得您想要处理的.click(),如下所示:

$(document).ready(function() {
    $(".modal").hide();
    $(".modal-links a").each(function(i){
      $(this).click(function(popUp){
        var modal = $(".modal").eq(i),
            modalWidth = modal.width(),
            modalHeight = modal.height();
        modal.css({ "margin-left":-(modalWidth/2) })
             .show().siblings(".modal").hide();
      });
    });
});

如果不这样做,那么你就会得到第一个.modal元素的.height().width()