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, время: 22:52. |