jQuery кладка не работает с Safari - PullRequest
0 голосов
/ 22 января 2011

Я использую jQuery Masonry с установкой WordPress, и она отлично работает в любом браузере, кроме Safari (как Win, так и OSX).Может ли это быть связано с некоторыми проблемами jQuery / WebKit, когда .load() запускается слишком рано?Я совершенно новичок в jQuery / JavaScript, поэтому любая помощь очень ценится.

Эта страница не работает в Safari: http://tangomitstil.de/news/

Хотя эта страница (по некоторым причинам) работает: http://tangomitstil.de/info/unterricht/

Проблема не связана с количеством элементов (я испытываю ту же проблему с моей версией dev с довольно большим набором тестовых сообщений), встраиванием @ font-face, использованиемизображения или Плагин бесконечной прокрутки .

Вот код, вызываемый в разделе заголовка:

jQuery(window).load(function($) { 
    // We can only load masonry on window.load because of embedded swfobjects
    jQuery('.content').masonry({
        singleMode: true,
        resizable: true,
        animate: false
    }); // initiate masonry
    jQuery('.content').infinitescroll({
        navSelector: "div.navigation",
        // selector for the paged navigation (it will be hidden)
        nextSelector: "div.navigation div.nav-previous a",
        // selector for the NEXT link (to page 2)
        itemSelector: ".content div.post",
        // selector for all items you'll retrieve
        loadingText: "Lädt weitere Beiträge..."
    }, function(newElements) {
        jQuery(this).masonry({
            appendedContent: jQuery(newElements)
        });
    })
});

1 Ответ

2 голосов
/ 22 января 2011

Попробуйте использовать событие «DOM ready», которое срабатывает после события «load» (после завершения загрузки изображений и т. Д.).

У jQuery есть хороший ярлык для этого.Вместо

jQuery(window).load(function() {
  // ...
});

do

jQuery(function() {
  // ...
});

Или просто:

$(function() {
  // ...
});

Когда вы не используете никакой другой JS-фреймворк параллельно, это безопасно и удобноиспользовать $ вместо jQuery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...