2012-11-01 33 views
1

我已經構建了一個使用lazyload.js在訪問頁面時淡入圖像的站點。像這樣......在哈希值變化時觸發lazyload

window.onhashchange = function() { 
    if (location.hash) { 
    var hash = window.location.hash.substring(2); 
     switch (hash) { 
      case "about": 
       changeContent('about'); 
       break; 
      case "contact": 
       changeContent('contact'); 
       break; 
      default: 
     }; 

     $("img").lazyload({ 
      effect : "fadeIn", 
     }); 
    } else { 
    }; 
} 

的網站使用不同的頁面建成,但我學習如何使用的location.hash,使網站的工作更像是一個頁面中的應用程序。

不幸的是,當切換代碼以使用onHashChange時,除了lazyload圖像之外,所有東西都可以工作,它們仍然是白色的。

我asume這是因爲頁面已經不只是加載等lazyload不踢。

誰能提供如何改變與哈希值發生變化的內容時產生相同的效果的任何建議。

回答

0

hashchange事件中觸發您在惰性加載圖像上使用的事件。延遲加載默認事件爲scroll,默認容器爲window。你應該能夠做這樣的事情:

window.onhashchange = function() { 
    $(window).trigger("scroll"); 
} 

從你的問題,目前尚不清楚changeContent()函數所做的事情。如果它通過AJAX | H加載內容,則還必須將插件綁定到新加載的內容。