在Jquery中绑定窗口大小

时间:2013-07-29 19:50:02

标签: jquery jquery-isotope

我正在开发同位素库,我遇到的问题是当窗口大小缩小或扩展时,图像会重叠,直到再次单击导航为止。

使用时加载正常:

jQuery(window).load(function($) {

// <![cdata[ 
jQuery('.shortcode-portfolio').isotope({
    animationOptions: {
        duration: 750
    },
    animationEngine : 'best-available',
    itemSelector: '.thisportfolioitem'
});
// ]]> 

});

但随后窗口有时会重叠图像重叠,我认为这是因为我使用css介质来选择图像大小而不是图像上的内嵌高度和宽度。

现在当我这样做时:

jQuery(window).load(function($) {

        // <![cdata[ 
        jQuery('.shortcode-portfolio').isotope({
            animationOptions: {
              duration: 750
            },
            animationEngine : 'best-available',
            itemSelector: '.thisportfolioitem'
        });
        // ]]> 

    });
    jQuery(window).resize(function($) {

        // <![cdata[ 
        jQuery('.shortcode-portfolio').isotope({
            animationOptions: {
              duration: 750
            },
            animationEngine : 'best-available',
            itemSelector: '.thisportfolioitem'
        });
        // ]]> 

    });

一切都100%有效,但必须有一个更好的方法,因为它永远不会两次加载相同的东西。

我可以请一些帮助使代码更好。

由于

1 个答案:

答案 0 :(得分:1)

// <![cdata[ 
jQuery(function() {
    var $shortcodePortfolio = jQuery('.shortcode-portfolio');
    $shortcodePortfolio.isotope({
        animationOptions: {
          duration: 750
        },
        animationEngine : 'best-available',
        itemSelector: '.thisportfolioitem'
    });

    jQuery(window).resize(function() {
        $shortcodePortfolio.isotope('reLayout');
    });
});
// ]]>

(清理了一下; cdata可以并且应该包装所有内容。)