Анимация встроенных элементов с jQuery

Исключение нулевого указателя - это индикатор того, что вы используете объект, не инициализируя его.

Например, ниже - класс ученика, который будет использовать его в нашем коде.

public class Student {

    private int id;

    public int getId() {
        return this.id;
    }

    public setId(int newId) {
        this.id = newId;
    }
}

Приведенный ниже код дает вам исключение с нулевым указателем.

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}

Поскольку вы используете Obj_Student, но вы забыли инициализировать его, как в правильном коде, показанном ниже:

public class School {

    Student obj_Student;

    public School() {
        try {
            obj_Student = new Student();
            obj_Student.setId(12);
            obj_Student.getId();
        }
        catch(Exception e) {
            System.out.println("Null Pointer ");
        }
    }
}
21
задан luchaninov 15 May 2016 в 12:42
поделиться

6 ответов

toggle() имеет набор странных вещей с ним, включая сокрытие или преобразование нечетных элементов время от времени. вот аналогичное решение:

$('.toggle').click(function() {
  $('.hide').animate({
    'opacity' : 'toggle',
  });
});

редактирование : вот способ добавить гладкое скольжение с минимальной дополнительной разметкой HTML:

var hidepos = $('.hide').offset().left;
var slidepos = $('.slide').offset().left;

$('.toggle').click(function() {
    var goto = ($('.slide').offset().left < slidepos) ? slidepos : hidepos;

    $('.slide').css({
        'left' : $('.slide').offset().left,
        'position' : 'fixed',
    }).animate({
        'left' : goto,
    }, function() {
        $(this).css('position', 'static');
    });

    $('.hide').animate({
        'opacity' : 'toggle',
    });
});

HTML:

<p>Hello <span class="hide">there</span> <span class="slide">jquery</span></p>
<button class="toggle">Toggle</button>
19
ответ дан 29 November 2019 в 21:28
поделиться

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

$('.toggle').click(function() {
    $('.hide:visible').animate(
        {opacity : 0},
        function() { $(this).hide(); }
    );
    $('.hide:hidden')
        .show()
        .animate({opacity : 1})
    ;
});
1
ответ дан 29 November 2019 в 21:28
поделиться

Я не думаю, что Вы хотите сделать, возможно, пока display:inline-блок хорошо не поддерживается через браузеры. На данный момент я думаю, что исчез бы предпосылки к красному и затем скрыл бы элемент.

, Если display:inline-блок хорошо поддерживался, Вы могли бы изменить стиль на встроенный блок и затем анимировать ширину или высоту, но к сожалению который не будет работать очень хорошо в эти дни. Возможно, в 2010:)

0
ответ дан 29 November 2019 в 21:28
поделиться

Поскольку другие ответы показали, исчезновение возможно. Однако я не думаю, что "гладкое скольжение" будет. Проще говоря, определенное свойство элемента должно быть анимировано. Встроенный промежуток как Вы, упоминание не имеет никакой определенной высоты или ширины, хотя это действительно имеет непрозрачность.

0
ответ дан 29 November 2019 в 21:28
поделиться

Тот факт, что 'animate' изменяет то, что она анимирует, на элемент блока не является проблемой, если то, что вы пытаетесь сдвинуть влево или вправо, позиционируется с помощью float: left и того, что рядом с он также позиционируется с помощью float: left

 $('#pnlPopup #btnUpdateButton').assertOne().animate({ width: "toggle" });

, если #btnUpdateButton имеет следующий стиль, тогда он довольно хорошо скользит и смещает содержимое вправо.

#btnUpdateButton {
    float: left;
    margin-right: 5px;
}
0
ответ дан 29 November 2019 в 21:28
поделиться

Всего одно свойство CSS сделает вас счастливыми: http://terion-fallen.livejournal.com/332945.html

#animated-element { display: inline-block!important }
9
ответ дан 29 November 2019 в 21:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: