jquery: может ли операторы срабатывать последовательно?

0

Этот код срабатывает в то же время сразу же с 01 по 04. Я пытаюсь заставить его запустить второй оператор if на втором.mouseover этого изображения и запустить 3-й оператор if на третьем.mouseover и т.д. Не похоже, чтобы понять это.

if($('img[src*="01"]')){
    $('img').mouseover(function () {
            $(this).attr('src', function(i, src) {
            return src.replace( '01', '02' );
        });
    })
}

if($('img[src*="02"]')){
    $('img').mouseover(function () {
            $(this).attr('src', function(i, src) {
            return src.replace( '02', '03' );
        }); 
    });
}

if($('img[src*="03"]')){
    $('img').mouseover(function () {
            $(this).attr('src', function(i, src) {
            return src.replace( '03', '04' );
        }); 
    });
}
  • 0
    $('img[src*="01"]') возвращает объект, истинное значение.
Теги:
if-statement
variables
src
mouseover

1 ответ

0
Лучший ответ

Вам нужно будет создать какой-то механизм для поддержания общего состояния взаимодействия. Этот механизм будет эквивалентен клиентской стороне просмотра на стороне сервера. Я полагаю, вы могли бы использовать глобальные переменные для этого. Здесь объясняется время жизни переменных javascript.

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

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

globalHoverCount = globalHoverCount + 1;
if(globalHoverCount=1){ //globalHoverCount is the global variable
    if($('img[src*="01"]')){
       $('img').mouseover(function () {
            $(this).attr('src', function(i, src) {
            return src.replace( '01', '02' );
           });
       }) }
}

Надеюсь, я помог!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню