Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.12.2008, 14:00
Интересующийся
Отправить личное сообщение для skyfish Посмотреть профиль Найти все сообщения от skyfish
 
Регистрация: 17.12.2008
Сообщений: 16

Вопрос про вызов события onClick
Есть кнопка. к ней привязано событие onClick.
Как грамотно сделать так, что если пользователь не счелкнул сам по кнопке, через к примеру 15 секунд, событие OnClick само вызвалось.

Заранее благодарю за помощь новичку!
Ответить с цитированием
  #2 (permalink)  
Старый 25.12.2008, 15:22
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Легче вызвать через 15 секунд функцию, которая срабатывает по событию onclick.
window.onload = function() {
   setTimeout(функция_срабатывающая_по_onclick, 15000);
};

если конечно объект-событие не нужен

Последний раз редактировалось Octane, 25.12.2008 в 15:25.
Ответить с цитированием
  #3 (permalink)  
Старый 26.12.2008, 00:45
Интересующийся
Отправить личное сообщение для skyfish Посмотреть профиль Найти все сообщения от skyfish
 
Регистрация: 17.12.2008
Сообщений: 16

Там все на jQuery сделано, в котором к сожаления я пока вообще никаках не соображаю. и функция onClick задается следующим образом в коде библиотеке
jQuery(".next",p).click(function() {
....
....
....
            }


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

<script language="javascript" type="text/javascript">
   jQuery.noConflict();
   jQuery(document).ready(function(){
        jQuery(".computers_technology").accessNews({
        newsHeadline: "",
        newsSpeed: "slow"
    });
	});
   </script>


как же в данной ситуации запустить по таймауту это событие?
Ответить с цитированием
  #4 (permalink)  
Старый 26.12.2008, 10:13
Интересующийся
Отправить личное сообщение для Tror Посмотреть профиль Найти все сообщения от Tror
 
Регистрация: 24.12.2008
Сообщений: 26

jQuery(".next",p).click(function() {
....
....
....
            }


если это из твоего кода, то вызвать событие можно
setTimeout(function(){jQuery(".next",p).trigger("click");}, 15000);

будет вызвано через 15 секунд
Ответить с цитированием
  #5 (permalink)  
Старый 26.12.2008, 10:37
Интересующийся
Отправить личное сообщение для skyfish Посмотреть профиль Найти все сообщения от skyfish
 
Регистрация: 17.12.2008
Сообщений: 16

Сообщение от Tror Посмотреть сообщение
jQuery(".next",p).click(function() {
....
....
....
            }


если это из твоего кода, то вызвать событие можно
setTimeout(function(){jQuery(".next",p).trigger("click");}, 15000);

будет вызвано через 15 секунд
Привмер из моего кода. но что то этот код не работает.
Вод как добавляется кнопка на которой висит событие onClick():
<a href="" class="next"><img src="/slider/next.gif" width="24" height="24" alt="Next" title="Next" env="images" /></a>


То есть в коде скрипта ищется класс next и на него вешается. я так понимаю
Ответить с цитированием
  #6 (permalink)  
Старый 26.12.2008, 10:49
Интересующийся
Отправить личное сообщение для skyfish Посмотреть профиль Найти все сообщения от skyfish
 
Регистрация: 17.12.2008
Сообщений: 16

А не работает потому что, структура кода такая.
jQuery.fn.accessNews = function(settings) {
...
     aNewsSlider.init(settings,this)
......
};

var aNewsSlider = {
    ....
init: function(s,p) {
jQuery(".next",p).click(function() {
//и как мне сие чудо вызвать
}
}


}



И вот так это все создается
<script language="javascript" type="text/javascript">
   jQuery.noConflict();
   jQuery(document).ready(function(){
        jQuery(".computers_technology").accessNews({
        newsHeadline: "",
        newsSpeed: "slow"
    });
    });
   </script>
Ответить с цитированием
  #7 (permalink)  
Старый 26.12.2008, 11:12
Интересующийся
Отправить личное сообщение для Tror Посмотреть профиль Найти все сообщения от Tror
 
Регистрация: 24.12.2008
Сообщений: 26

сорри, в первый раз ступил. я не заметил что переменная p тебе недоступна. Такая запись
jQuery(".next",p)
означает "выбрать все элементы с классом "next" в контексте p". Если не указывать контекст, то в качестве контекста будет использоваться объект document.

все конечно зависит от того что тебе нужно, но попробуй сделать так
init: function(s,p) {
var imgs = jQuery(".next",p);
imgs.click(function() {
//и как мне сие чудо вызвать
}

setTimeout(function(){imgs.trigger("click");}, 15000);
}
Ответить с цитированием
  #8 (permalink)  
Старый 26.12.2008, 13:00
Интересующийся
Отправить личное сообщение для skyfish Посмотреть профиль Найти все сообщения от skyfish
 
Регистрация: 17.12.2008
Сообщений: 16

Tror, Клево. спасибо. А вот если еще раз захочу крутнутнуть галлерею и пишу
setTimeout(function(){imgs.trigger("click");}, 15000);
setTimeout(function(){imgs.trigger("click");}, 15000);

то крутиться всего один раз. вместо двух. как это обойти? Заранее благодарю
Ответить с цитированием
  #9 (permalink)  
Старый 26.12.2008, 13:30
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

setTimeout != sleep
Ответить с цитированием
  #10 (permalink)  
Старый 26.12.2008, 13:50
Интересующийся
Отправить личное сообщение для Tror Посмотреть профиль Найти все сообщения от Tror
 
Регистрация: 24.12.2008
Сообщений: 26

прочитай про setInterval
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как в IE динамически установить значение события onClick? Гость Элементы интерфейса 6 16.01.2011 23:46
Вопрос: И опять про offsetLeft... sigurd Общие вопросы Javascript 11 04.10.2010 14:06
вопрос про сверхдинамичный интерфейс Гость AJAX и COMET 2 05.04.2008 01:02