1. в книжке такое не возбранялось :)
2. в контексте примера это безразницы 3. в контексте примера работает как нужно |
Триви, в свете последнего прочитаного, можно вообще вместо
.toggleClass('on') использовать http://jquery-docs.ru/effects/toggle/ |
Цитата:
|
Цитата:
Так вот конструкция $(this) это уже элемент ЖиКвери и к нему можно применять нужные методы. P.S. Но что мешает убрать и попробовать! :D |
Это я к тому, что во второй части скрипта Вы вроде показываете все абзацы, так? Тогда причём тут указание на элемент DOM, вызвавший функцию (this)? Он просто присвоит всем соседним (по отношению к a.no_text_all) абзацам класс on... А надо по отношению ко всем ссылкам a.no_text.
P.S. Уж сменить класс всем <p> разом, я, конечно, смогу! :lol: |
Цитата:
Ладно, лучше поясню с помощью кода. Поскольку автор хотел JS чистяком, то вот: <a href="#" id="sh">Открыть все</a><hr /> <a href="#" class="no_text">Бла-бла1</a><p class="new_text" style="display:none">1-бла...</p> <a href="#" class="no_text">Бла-бла2</a><p class="new_text" style="display:none">2-бла...</p> <a href="#" class="no_text">Бла-бла3</a><p class="new_text" style="display:none">3-бла...</p> <script type='text/javascript'> (function() { var aArr = document.getElementsByTagName('A'); for (var i=0; i<aArr.length; i++) { aArr[i].onclick = function() { var p = this.nextSibling, vis = p.style.display; p.style.display = (vis=='none') ? 'block' : 'none'; } } sh.onclick = function () { var vis; if(this.innerHTML=='Открыть все') { vis = 'block', this.innerHTML='Закрыть все'; } else { vis = 'none', this.innerHTML='Открыть все'; } var pArr = document.getElementsByTagName('P'); for (var i=0; i<pArr.length; i++) { pArr[i].style.display = vis; } } })(); </script> |
ksa, кстати, а что это за конструкция такая?
.new_text.on { display:block; } В смысле «.on» - чьих будет? JS, jQuery, CSS? Просто впервые встречаю... И что это означает навешивается подкласс или это новый класс получается? Или это сугубо жикверивская "примочка"? И поймёт ли её браузер с отключенным js? |
Триви,
Спасибо большое, но прекратите все надо мной издеваться! :lol: Я размышлял-размышлял, плюнул на всё и решил подключить jQuery, начал по новой перелопачивать более ранние скрипты (чтобы перевести их на jQ), а тут Вы снова выдаёте на чистом js... |
Цитата:
|
yashka525,
Из-за 100кБ фреймворка? Или просто из-за понтов? Дык ради крути можно и на ассемблере писать, можно вообще в двоичной системе машинный код фигачить. Native code rules!! |
Часовой пояс GMT +3, время: 17:40. |