x-yuri
Тут на сайте есть пример написания анимации и пусть там не 5-10 строчек, а гдето чуть больше 20 это сути не меняет, хотя думаю, что если сесть и подумать можно и в 10ть строк написать. |
<html> <head> <title>test</title> <style type="text/css"> .block { width: 800px; height: 300px; background: red; } </style> </head> <body> <button onclick="hide()">Скрыть</button> <div id="t" class="block"></div> <script type="text/javascript"> function hide() { var el = document.getElementById('t'); var count = 10, i = count, width = el.offsetWidth, height = el.offsetHeight; (function() { if (i--) { el.style.width = Math.round(width * i / count) + 'px'; el.style.height = Math.round(height * i / count) + 'px'; if (typeof el.style.opacity == 'string') { el.style.opacity = i / count; } else { el.style.filter = 'Alpha(opacity=' + Math.round(i / count * 100) + ')'; } setTimeout(arguments.callee, 20); } })(); } </script> </body> </html> Это если уж совсем без библиотек. |
да и что бы не создавать новую тему такой вопрос.
я погуглил 5ть мин и не нашел ничего про регулярки в jquery, их там нет и их писать, как на js? или все же, как то по другому? |
Kolyaj
Я пользуюсь таким же примером для анимации :) |
Цитата:
Цитата:
|
розовый слоник,
jquery - это тот же javascript, просто с добавленной библиотекой. Все, что работало на чистом javascript, будет работать и с ней, регулярные выражения в том числе. Зачем им добавочный функционал, они и так неплохо обрабатываются. |
вот тот же код на jquery, без использования ее возможностей в плане анимации
<html> <head> <title>test</title> <style type="text/css"> .block { width: 800px; height: 300px; background: red; } </style> </head> <body> <button onclick="hide()">Скрыть</button> <div id="t" class="block"></div> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script> <script type="text/javascript"> function hide() { var count = 10, i = count, width = $('#t').width(), height = $('#t').height(); (function() { if (i--) { $('#t').css({ 'width': Math.round(width * i / count) + 'px', 'height': Math.round(height * i / count) + 'px', 'opacity': i / count }); setTimeout(arguments.callee, 20); } })(); } </script> </body> </html> в данном конкретном случае изменения, может быть, небольшие. Но деталей реализации меньше. Следовательно проще понять, что эта функция делает. Если по какой-либо причине вам нужно в первую очередь видеть не что делает код, а как он это делает, это не значит, что так должно быть всегда и везде. Оба подхода имеют право на жизнь. Да, пряча реализацию, мы можем усложнить себе отладку в дальнейшем. Но это всего лишь возможность, у нее есть свои достоинства и недостатки. Где-то это уместно, где-то - нет, для кого-то подходит, для кого-то - нет. Да и просто, не прятать реализацию - значит не использовать функции. И люди делают это в разной степени, кто-то больше, кто-то - меньше в общем, я к тому, что там 200КБ несжатого кода и куча недоплагинов, но ими можно пользоваться. :) И это опять же одна из возможностей, со своими достоинствами и недостатками |
Цитата:
В jQuery нет инструментов для удобного наследования "классов", поэтому я не понимаю, как на нём можно создавать сложные приложения. |
Цитата:
Цитата:
и еще, на чистом js проще писать неподдерживаемый код, потому что jquery - более высокоуровневая штука |
Цитата:
А плагины вообще упоминать глупо, ибо любой скрипт это плагин к нативному JS, так что у нативного JS плагинов заведомо больше, чем у jQuery :) Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 14:58. |