2012-03-25 6 views
0

Я действительно не «получаю» jQuery. Я использую JS только для изменения атрибутов DOM-атрибутов, но когда инструмент подходит для счета, вы должны его использовать. У меня есть слайд-шоу SuperSize, работающее на моей странице, и я добавил пару кнопок в панель навигации внизу. Когда эти кнопки нажимаются, я открываю окно, показывающее больше информации о текущем слайде, но поскольку это «текущий» слайд, мне нужно остановить показ, пока окно открыто. Все работает нормально, за исключением этого прекращающего бизнеса. я сослался на апи, и есть вызов, который делает только что:Приостановка SuperSized.js через onClick на другом элементе

$(element).click(function(){ 
    api.playToggle(); 
}); 

... но как я называю это в OnClick на другом элементе? Я понимаю, что приведенный выше код добавляет обработчик события щелчка на «элемент», я просто не понимаю, как я называю эту функцию себя от простого старого OnClick = «» ...

Любая помощь очень ценится

Danny

ответ

0

Вам нужно прикрепить событие click к элементу.

http://api.jquery.com/click/

Я буду считать, что вы «кнопку» ссылка.

HTML:

<div id="btnContainer"> 
    <a id="slideInfo" href="#">More Info</a> 
</div> 

JQuery:

$(function($) { 
    $('#slideInfo').click(function() { 
     api.playToggle(); 
    }); 
}); 

Вот что это делает. Во-первых, jQuery необходимо запустить после завершения загрузки страницы. Это делается с:

$(function($) { 
    //Do this when page/DOM is done loading 
}); 

Мы используем jQuery Selectors, чтобы выбрать элемент с идентификатором slideInfo. Мы присоединяем обработчик события click к элементу. Внутри обработчика кликов мы определяем, какой код мы хотим выполнить после щелчка элемента. В этом случае мы хотим переключить воспроизведение слайд-шоу. Вызов api.PlayToggle(); функция надстрочного плагина сделает это.

Следует помнить, что это приостановит показ слайдов, чтобы вы могли отобразить более информационное окно. Я не знаю, как вы показываете это окно, но я предлагаю использовать всплывающее диалоговое окно. Как только пользователь закрывает это диалоговое всплывающее окно, вам нужно как-то снова вызвать функцию api.playToggle(), чтобы запустить резервное копирование слайд-шоу. Если вам нужна дополнительная помощь, просто ответьте с дополнительной информацией.

Я не совсем уверен, что ваш второй вопрос. Я думаю, что вы хотите функцию, вызываемую при нажатии кнопки, которая запускает функцию api.playToggle(), но вы также хотите вызвать эту функцию в другом месте любого другого кода javascript/jquery или прикрепить ее к другому элементу. В этом случае вы могли бы рассмотреть вопрос об изменении вашего JQuery на это:

<script type="text/css"> 
    function ToggleSlideshow() { 
     api.playToggle(); 
    } 

    $(function($) { 
     $('#slideInfo').click(function() { 
      ToggleSlideshow(); 
     }); 
    }); 
</script> 

Я просто создал функцию под названием ToggleSlideshow(), который будет срабатывать функция api.playToggle(). Затем, когда я присоединяю свою функцию обработчика кликов, я говорю ей, чтобы запустить функцию ToggleSlideshow().Если вы хотите прикрепить это к свойству OnClick кнопки или что-то подобное все, что вы должны сделать, это:

onClick="javascript:ToggleSlideShow()" 

Я надеюсь, что я точно ответил на ваш вопрос.

0

Я использую этот код вы предложили:

<script type="text/javascript"> 


$(function($) { 
    $('#slideInfo').click(function() { 
     api.playToggle(); 
    }); 
}); 

</script> 


<div id="btnContainer"> 
    <a id="slideInfo" href="#">More Info</a> 
</div> 

Чтобы приостановить слайд-шоу, используя окно модальным. Он отлично работает!

Однако, когда я закрываю окно модальности, я не могу повторно запустить слайд-шоу.

Я пропустил какой-то дополнительный код? (Вы написали предыдущего пользователя, чтобы спросить вас, было ли это так).

Большое спасибо! T

Смежные вопросы