Я проверил некоторые другие потоки, но не могу найти ответ, который идет с моим кодом. Моя проблема заключается в моем щелчке событие срабатывает только на втором клике, в какой момент он работает отлично (второй щелчок открывает, третий щелчок закрывается, четвёртые открывается, и т.д ...)jQuery нажмите на огонь при втором щелчке, но не первый
$('.expand-btn').click(function() {
var clicks = $(this).data('clicks');
if (clicks) {
$('.expand-wrapper').animate({
right: "0"
}, 500, function() {
});
} else {
$('.expand-wrapper').animate({
right: "-325px"
}, 500, function() {
});
}
$(this).data('clicks', !clicks);
});
EDIT: Вот мой HTML код , Он работает как this jquery plugin, где .expand-wrapper
- это контактная форма, которая скрыта от экрана, и .expand-btn
- это маленький лоскут, который находится сбоку от экрана и доступен для просмотра.
<div class="expand-wrapper">
<a href="#" class="expand-btn"><i class="fa fa-envelope-o" aria-hidden="true"></i> Contact</a>
<div class="expand-form">
<?php echo do_shortcode('[contact-form-7 id="2173" title="Home 01 Request_no_title"]'); ?>
</div>
</div>
ли вам есть ли начальное значение для вашего атрибута 'data-clicks'? Если нет, вы можете рассмотреть возможность установки одного из них, поскольку кажется, что он не устанавливается до тех пор, пока в первый раз он не будет нажат с атрибутом '$ (this) .data ('clicks')'. –
Хорошо, я прав. Когда я нажимаю сначала, он устанавливает 'right' в' -325px'. На данный момент я маленький список; как/что/где я бы установил клики данных? – VCP
Почему вы не кладете атрибут onclick на href и не удаляете href, просто используйте простой тег привязки – Araz