2016-01-08 2 views
0
$(document).ready(function(){ 
    var ar = ["#mob","#tv","#cmp","#prt"]; //div id's to display images 
    $(".show").click(function(){ 
     for(var sh in ar){ 
      $(sh).css({"display":"block"}); 
     } 
    },5000); 
}); 

Я пытался отображать изображения при нажатии кнопки с задержкой 5000, кнопка на событии клика ничего не происходит.Использование переменной массива и для цикла в jQuery

+0

обработчики событий JQuery не имеют встроенную поддержку задержек. Вы должны явно называть 'setTimeout()' самостоятельно. – Pointy

ответ

0

Петля для в JavaScript из далеко с PHP при запуске для (вар ш в обр) ВГ будет начинаться с 0 до 3. Это означает, что ваш код должен быть $(arr[sh]).css({"display": block});

+0

спасибо ... это то, что применение временной задержки правильное. – yureka

+0

Нет! Вы должны обернуть функцию в функции setimeout. $ ('. Show'). Click (function() { setTimeout (функция() { для (var sh in ar) { $ (arr [sh]). Css ({"display": "block" }); } }, 5000); – vanhonit

0

Поместите код, который показывает ваш div о функции. Назовем функцию showFcn().

showFcn():

var ar = ["#mob", "#tv", "#cmp", "#prt"]; //div id's to display images 
    for (var sh in ar) { 
    $(ar[sh]).show(); 
    } 
} 

Кстати ваш ш вернуть базовый нулевое целое число, так что просто называть элементы массива с ar[sh]

В вашем вызове showFcn() функции кнопки click() и использовать setTimeout() для добавления задержки.

нажмите():

$('#show').click(function() { 
    setTimeout(showFcn, 5000); 
}) 

Вот jsfiddle для вас.

0

1.) Предпочитаете css ("display", "block") перед показом(). У jQuery show() есть некоторые неприятные части.

И некоторые Код:

$(document).ready(function(){ 
    var ar = ["#mob","#tv","#cmp","#prt"], timeouts; 

    function showElement(){ this.css("display", "block") } 
    $(".show").click(function(){ 
     timeouts = $(ar).map(function(index, id){ 
      timeouts && clearTimeout(timeouts[index]); 
      return setTimeout(showElement.bind($(id)), 5000*index); 
     }) 
    }) 
}); 
Смежные вопросы