жаль, что я все еще изучаю JavaScript, читаю Javascript W3Cschools и Jquery, но их много не учат.Как автозапустить событие onclick
Я изучаю анимацию на данный момент, как я могу автоматически запускать это, а затем ждать, пока кто-то щелкнет (прослушиватель событий), я попытался превратить его в функцию, но я должен делать это неправильно, также еще 1 что означает (Idx), я понимаю (id) - это элемент HTML Html, но не уверен Idx, который нелегко найти в google. для чтения, прослушиватель событий начинается с 5-й строки снизу, а карты тасования - 6-я строка сверху (не уверен, что это помогает), исходный код находится здесь http://www.the-art-of-web.com/javascript/css-animation/ благодарит за любую помощь. С уважением. Уильям.
var cardClick = function(id)
{
if(started) {
showCard(id);
} else {
// shuffle and deal cards
card_value.sort(function() { return Math.round(Math.random()) - 0.5; });
for(i=0; i < 16; i++) {
(function(idx) {
setTimeout(function() { moveToPlace(idx); }, idx * 100);
})(i);
}
started = true;
}
};
// initialise
var stage = document.getElementById(targetId);
var felt = document.createElement("div");
felt.id = "felt";
stage.appendChild(felt);
// template for card
var card = document.createElement("div");
card.innerHTML = "<img src=\"/images/cards/back.png\">";
for(var i=0; i < 16; i++) {
var newCard = card.cloneNode(true);
newCard.fromtop = 15 + 120 * Math.floor(i/4);
newCard.fromleft = 70 + 100 * (i%4);
(function(idx) {
newCard.addEventListener("click", function() { cardClick(idx); }, false);
})(i);
felt.appendChild(newCard);
cards.push(newCard);
Вы можете вызвать событие щелчка, просто называя щелчок .. 'newcard.click();' .. смотрите здесь тоже. http://stackoverflow.com/questions/6367339/trigger-a-button-click-from-a-non-button-element – Daniel
Почему бы не сделать что-то вроде 'onLoad = cardClick()'? – Slime
'idx' - это просто имя переменной' i'. Его передача в функцию self executing в вашем цикле 'for' – atmd