#javascript #jquery #html
#javascript #jquery #HTML
Вопрос:
У меня проблема с интеграцией javascript (jquery) и html…
HTML:
<div id="arrows">
<div id="slideup"></div>
<div id="slidedown"></div>
</div>
как вы видите, у меня есть 2 подразделения с идентификаторами slideup и slidedown, после загрузки страницы я меняю идентификатор первого подразделения на newID1, и если пользователь нажимает на slidedown div, newID1 снова меняется на slideup, у меня есть две функции, и первая запускается при нажатии элемента с slideup, вторая запускается при нажатии элемента снажимается slidedown, после изменения newID1 на slideup функция, которая должна запускаться при нажатии slideup, не работает… смотрите JS-код ниже…
JavaScript (jQuery):
$(function(){
lastbul="bul1";
i=1;
$("#slideup").attr("id", "newID1");
$("#slideup").click(function (){
i--;
console.log(i);
}
$("#slidedown").click(function (){
i ;
console.log(i);
if (lastbul=="bul1") $("#newID1").attr("id", "slideup");
else if (lastbul==sliderPics[sliderPics.length-1].id) $("#newID2").attr("id", "slidedown");
}
sliderPics — это массив, который работает нормально, не нужно это показывать…
Комментарии:
1. привязать события к $(‘document’).on(‘click’, ‘#slideup’, function() { // code });
2. нет, ошибок нет, функция slideup даже не регистрирует переменную i…
Ответ №1:
Здесь :
$("#slideup").attr("id", "newID1");
$("#slideup").click(function (){
Сразу после первой строки больше нет никакого #slideup
элемента, поэтому вторая строка не выполняет никакой привязки.
Измените его на
$("#slideup").attr("id", "newID1").click(function (){
Ответ №2:
здесь необходимо изменить вторую строку. Он не выполняет никакой привязки. Измените вторую строку на
$("#slideup").attr("id", "newID1").click(function ()
{ **the code here**