изображение jQuery center - PullRequest
2 голосов
/ 20 марта 2010

У меня проблема с привязкой к центру изображений с помощью плагина jQuery Cycle. Я нашел это решение, но оно не работало с отдельными изображениями (не всегда> 2 изображения), поэтому я написал свой небольшой кусочек кода, который, кажется, работает, за исключением иногда не вычитает высоту изображения из высоты div, поэтому я получаю поле с полем 310px.

var $image_cnt = $("#images > img").size();
    if($image_cnt < 2) {
        var $single_img = $("#images").children(':first-child');
        var h = $single_img.height();
        $single_img.css({
            marginTop: (620 - h) / 2,
        });
        $(".next").css("display","none");
        $(".prev").css("display","none");
    }

Я не очень много использовал jQuery и просто хотел узнать, пропустил ли я что-то простое или написал что-то не так, поэтому marginTop не играл хорошо.

Ответы [ 2 ]

3 голосов
/ 21 марта 2010

Вы должны запустить это в

$(window).load(function {

Чтобы изображения загружались, запуск их в $(document).ready(function { может выполняться до того, как изображения будут готовы, а если нет, то их высота будет 0 для тех, которые еще не .complete.

0 голосов
/ 20 марта 2010

не должна эта строка:

var $image_cnt = $("#images > img").size();

be:

var $image_cnt = $("#images > img").length();

olso:

marginTop: (620 - h) / 2,

должно быть:

marginTop: (620 - h) / 2+'px',

Еще одна вещь, которую вы можете захотеть проверить, что для каждого изображения задана высота ... и что высотав пикселях, иногда это может быть в процентах или других единицах.

надеюсь, это поможет ...

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