#jquery #html
#jquery #HTML
Вопрос:
Я только начал изучать jQuery и не могу заставить этот код работать. Я думаю, что все в порядке, но это не работает. Кто-нибудь может мне помочь?
HTML:
<div id="container">
<ul id="menu">
<li id="button1">Animar 1</li>
</ul>
<div id="box"></div>
</div><!--Container-->
JQUERY:
$(document).on("ready",main);
function main(){
$("#button1").on("click", animate1);
}
function animate1(){
$("#box").animate({
width: '100px'
});
}
Редактировать: я также добавил код CSS, так что вы также можете это проверить. Я действительно не знаю, нужно ли это, но вот оно.
CSS:
body{
background: #4674A5;
}
#container{
margin:100px auto;
width:500px;
}
#caja{
background: #FF8000;
width:50px;
height:50px;
}
#menu{
padding:0;
margin: 0;
text-align: center;
}
#menu li{
color:white;
display: inline-block;
margin: 0;
list-style: none;
cursor: pointer;
}
#menu li:hover{
color:#FF8000;
}
Комментарии:
1. Пожалуйста, всегда учитывайте возможность установки описательного заголовка, соответствующего вашему вопросу…
2. Пожалуйста, рассмотрите возможность редактирования вашего заголовка на что-то более актуальное для вопроса.
"My JQuery code doesn't work"
никому больше не помогает.3. пожалуйста, также всегда добавляйте jsfiddle
4. Кроме того факта, что
#box
он невидим без каких-либо стилей, ваш код , похоже, работает нормально… можете ли вы объяснить, что именно не работает ..?5. Извините, я уже отредактировал заголовок на более конкретный. Мой английский не так хорош, но я постараюсь объяснить сам. Дело в том, что я использовал jQuery раньше для анимации полосы прокрутки, чтобы страница могла перемещаться. Но я не могу заставить какой-либо код работать сейчас. Я перепробовал все ваши коды, ребята, и ни один из них не работает для меня. Все хорошо обработано, и все атрибуты идентификатора совпадают. Я не загружал ни одного фреймворка jQuery, но я не думаю, что это проблема, поскольку я мог использовать его раньше. Что это может быть?
Ответ №1:
Измените свой код следующим образом
$(document).ready(function() {
main();
function main(){
$("#button1").on("click", animate1);
}
function animate1(){
$("#box").animate({
width: '100px'
});
}
});
Комментарии:
1. @KingofPopup потому что вы можете привязать псевдообъект готовности с помощью on(), но это не позволит использовать преимущества внутреннего отложенного объекта, используемого для запуска псевдособытия, даже если оно уже запущено
2. Я думаю, что @KingofPopup пытается сказать, что код Op, по крайней мере, работает как есть. Проблема заключается в другом.
.on
Проблема, по его мнению, вторична.3. @A.Wolff Извините, честно, я вас не понял. я попробовал это , увидев вопрос, и функция запускается при загрузке. Итак, мой вопрос — как этот ответ исправляет нерабочий код OP ..? что именно в нем не работает ..?
4. @KingofPopup я имел в виду, используя on(), тогда это не сработает (обернуто внутри метода onload): jsfiddle.net/jAx5L/3 Это может быть или не быть проблемой OP здесь, в зависимости от контекста, как / когда вызывается его опубликованный фрагмент. OP наверняка лучше бы улучшил свой вопрос