To jest mój pierwszy wpis na tej dość spiffingowej stronie, więc idź łatwo, jeśli to zostało omówione gdzie indziej (nie mogę go znaleźć, jeśli ma).JQuery, jeśli jeszcze za pomocą wtyczki URL parser, musi być bardziej eleganckie rozwiązanie!
używam jQuery URL parsera plugin znaleźć tutaj: http://projects.allmarkedup.com/jquery_url_parser/
mogę to robić, co chcę, ale kod jest raczej nieefektywne. Mam kolekcję ukrytych div, które są otwierane po kliknięciu odpowiedniego nagłówka. Używam parsera adresów URL, więc jeśli kliknięto link z innej strony, widoczny jest odpowiedni element div.
Mój kod wygląda następująco:
if
(jQuery.url.attr('anchor') == 'question1'){
$('#answer1').show();
}
else if
(jQuery.url.attr('anchor') == 'question2'){
$('#answer2').show();
}
else if
(jQuery.url.attr('anchor') == 'question3'){
$('#answer3').show();
}
else if
(jQuery.url.attr('anchor') == 'question4'){
$('#answer4').show();
}
else if
(jQuery.url.attr('anchor') == 'question5'){
$('#answer5').show();
}
else if
(jQuery.url.attr('anchor') == 'question6'){
$('#answer6').show();
}
else if
(jQuery.url.attr('anchor') == 'question7'){
$('#answer7').show();
}
else if
(jQuery.url.attr('anchor') == 'question8'){
$('#answer8').show();
};
Jak widać jest to dość długo zdyszany. To, co naprawdę chcę móc zrobić, to wziąć numer na końcu adresu URL i dołączyć go do #answer, dzięki czemu rzeczy są znacznie bardziej kompaktowe. Starałem się przypisać wynik (jQuery.url.attr („kotwicy”) do zmiennej, ale mam trochę problemów realizacji tego. Każda pomoc będzie bardzo mile widziane!
To genialne! Dzięki! – i0n
Właśnie odkryłem problem z tym rozwiązaniem. Jeśli nie ma znacznika zakotwiczenia, funkcjonalność wyświetlania elementów nagłówka przestaje działać! Stworzyłem nowe pytanie ze wszystkimi szczegółami i opracowałem na to pytanie. Ten nowy można znaleźć tutaj: http://is.gd/uGUm – i0n
To naprawdę nie jest problem z tym rozwiązaniem. jeśli chcesz wyświetlić domyślne pytanie, zmień pierwszą linię na var match = (jQuery.url.attr ('anchor') | "question1"). match (/^question ([0-9] +) $ /) ;; –