jquery无法正常工作窗口调整大小

问题描述:

在我的应用程序响应我有我的元素位置使用jQuery。它的工作很好。同时调整窗口大小(更大的分辨率到小)其工作正常,但在反向(小到大分辨率)原来不反映。jquery无法正常工作窗口调整大小

的js

(function ($) { 
$(document).ready(function() { 

var shareLink = $('#article_tools'); 
var social_alone = $(".social-share-custom"); 

if($(window).width() < 1026) { 
    var twitter_link = $('.follow_twit'); 
    var google_link = $('#google_responsive_container'); 
    twitter_link.before($('.follow_fb')); 
    twitter_link.after(google_link); 
    google_link.after($('.follow_feed')); 
} 
function setHeader(){ 

    if($(window).width() < 1026){ 
     var shareLink = $('#article_tools'); 
     if(shareLink.length > 0){ 
      shareLink.prepend($(".social-share-custom")); 
     } 
     else{ 
      var social_alone = $(".social-share-custom"); 
      $(".evt_detail_main").before(social_alone); 
     } 

    } 
    var primary=$('#primary'); 
    var temp=primary.find('>ul>li'); 
    var srctemp=primary.find(".links"); 
    if ($(window).width()<768) { 
     var search_container =$('#container-search'); 
     //var temp=$('#primary').find('>ul>li'); 
     shareLink.prepend($(".social-share-custom")); 
     $('.follow-login-wrapper').prepend($('#top-login')); 
     $('.responsive-menu').append($("#simplemenu")); 
     $('#logo-title').after(search_container); 
     $('#homemenu').after(temp); 
     $('#comments').before($('#sidebar-right').find('#sidebar-right-inner>#block-constant_contact-0')); 
     search_container.after($("#search-box")); 
    } 
    else { 
     srctemp.append(temp); 
    } 


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

    }); 



setHeader(); 

    }); 

})(jQuery); 

我没有收到代码在$(窗口).WIDTH()< 768)从较小的分辨率大的调整适当的回应。(原始视图不反映)

(function ($) { 
$(document).ready(function() { 

var shareLink = $('#article_tools'); 
var social_alone = $(".social-share-custom"); 

if($(window).width() < 1026) { 
    // ... gets ONLY executed if condition is TRUE 
} 
function setHeader(){ 

    if($(window).width() < 1026){  

     // ... gets ONLY executed if condition is TRUE 

    } 
    var primary=$('#primary'); 
    var temp=primary.find('>ul>li'); 
    var srctemp=primary.find(".links"); 
    if ($(window).width()<768) { 

     // ... gets ONLY executed if condition is TRUE 

    } 
    else { 
     srctemp.append(temp); 
    } 
}); 
$(window).resize(function() { 
    setHeader(); 
    }); 
setHeader(); 
    }); 
})(jQuery);  

的问题是,当窗口具有正确的大小(在那个时候,当执行功能,它在你的情况的document.ready)你的函数只得到执行。

试试这个:

(function($) { 

    $(document).ready(function() { 
     //... include BOTH cases for the document ready event. 

      if ($(window).width() < 1200) { ...do something }; 
      if ($(window).width() < 700) { ...do something else }; 
    }; 

    $(window).resize(function() { 
     //... include BOTH cases for the window resize event. 

      if ($(window).width() < 1200) { ...do something }; 
      if ($(window).width() < 700) { ...do something else }; 
    }; 

})(jQuery); 
+0

感谢ü的答案。正如你所说,我已经将所有的代码包装在set header函数中,并在调整窗口中调用它。 – 2015-03-31 12:48:10