Здравейте първо искам да почна с това, че изобщо не ме бива в писането на подобен вид кодове, така че се извинявам предварително, ако въпроса ми е прекалено глуповат. Малко се отклонихме затова се връщам директно към въпроса. Искам да си направя падащо меню с функцията .click и по точно когато иска някой да отвори менюто да има стрелка надолу, а когато иска да го затвори да има стрелка нагоре. Успях да напиша това, което искам, но се натъкнах на следния проблем, първоначално всичко си работи идеално, но след второто отваряне вече се появява само стрелката нагоре, а стрелката надолу просто изчезва, знам, че проблема идва от "if" функцията, но знанията не ми стигат да я редактирам правилно, затова ако има някой да отдели малко свободно време и да ми помогне ще му бъда изключително благодарен, Мерси Предварително.
ПС: Ето това e, което съчиних - Линк към JSFiddle - This site can’t be reached
Помощ отнасяща се до "DropDown" меню със функцията
- anonimen
- Web-tourist
- Posts: 1604
- Joined: Mon Jun 11, 2012 6:07 pm
- Location: Parse error: unexpected "}" in /home/index.php on line 26
В проверката (if) си написал това:
Операторът "=" е за присвояване на стойност на някаква променлива. Операторът "==" е за сравняване на стойностите на две променливи.
Следователно кодът ти е идентичен с това:[js]DownArrow = DownArrow;
if(DownArrow) { neshto si }
else { neshto si }[/js]Тоест с първия ред не правиш нищо, а с втория проверяваш дали DownArrow не е FALSE. И тъй като DownArrow не е това, то този if винаги ще връща true => никога няма да влезеш в else, и все едно няма if, винаги ще се изпълнява първото.
Вероятно си се опитал да напишеш това: This site can’t be reached
(проверяваме дали src-tata на текущото изображение и това на горната стрелка са равни)
Code: Select all
if(DownArrow = DownArrow){
$(this).html(UpArrow);
}else{
$(this).html(DownArrow);
}
Следователно кодът ти е идентичен с това:[js]DownArrow = DownArrow;
if(DownArrow) { neshto si }
else { neshto si }[/js]Тоест с първия ред не правиш нищо, а с втория проверяваш дали DownArrow не е FALSE. И тъй като DownArrow не е това, то този if винаги ще връща true => никога няма да влезеш в else, и все едно няма if, винаги ще се изпълнява първото.
Вероятно си се опитал да напишеш това: This site can’t be reached
(проверяваме дали src-tata на текущото изображение и това на горната стрелка са равни)