def
или function
, прототипное наследование или традиционное классовое, наборы системных API, и так далее - не так уж и большая разница. Требует лишь привыкания и практики.$(function(){ // "Упаковываем" - вызываем после загрузки страницы
$(window).scroll(function(){ // Привязываем событие к скроллу окна
var scrolled = $(window).scrollTop(); // Узнаем величину, на которую ушел скролл
if (scrolled > 200) $('.go-top').fadeIn('slow'); // Если эта величина больше 200px - показываем кнопку
if (scrolled < 200) $('.go-top').fadeOut('slow'); // Если эта величина меньше 200px - убираем кнопку
});
$('.go-top').click(function () { // "Вешаем" событие на клик кнопки
$("html, body").animate({ scrollTop: "0" },200); // "Мотаем" в начало страницы
});
});
// функция, которая выполнится по событию DOMReady
$(function(){
// обработчик события 'scroll' у объекта window, проще говоря - при скролле страницы
$(window).scroll(function(){
// смещение относительно начала (верха) страницы. по идее в пикселях
var scrolled = $(window).scrollTop();
// $('.go-top') - выбрать элементы с классом go-top, .fadeIn('slow') - показать их, медленно
if (scrolled > 200) $('.go-top').fadeIn('slow');
if (scrolled < 200) $('.go-top').fadeOut('slow'); // либо скрыть, соответственно
});
// обработчик события 'click' у объектов с классом go-top
$('.go-top').click(function () {
// Никогда не понимал зачем оба селектора, выбирает элементы html и body
// Выставляет им свойство scrollTop в 0, то есть в начало (верх) страницы с временем выполнения 200мс
$("html, body").animate({ scrollTop: "0" },200);
});
});
Я использую Dart в продакшене примерно последние полгода; в проекте человек 5 разработчиков. Применяем для фронтенда + JSP/Spring MVC/Tomcat, никакой экзотики.
Когда хотелось отказаться от JS+jQuery, просмотрели кучу фреймворков/языков, так что выбор вполне осознанный.
Основные плюсы по сравнению с CoffeeScript - все же более высокий уровень абстракции от JS, более чистый язык, более строгая типизация.
По поводу других комментариев:
> Когда и если Dart доведут до ума...
Только что вышла версия 1.0 - первая стабильная.
> Кофе полностью совместим с JS-библиотеками (напр. jQuery), а вот Dart
> требует свои собственные библиотеки.
В Dart есть interoperability с JS, в последних апдейтах совершенно прозрачная - то есть можно создавать объекты, работать с callback'ами прямо из Dart-кода, без всяких дополнительных манипуляций/proxy/scope и т.п.
> Кофе упрощает вам синтаксис, а дарт усложняет.
Если под упрощениями имеется в виду та каша, в которую со временем превращается JS-код - то нет.
bootsect /nt60 SYS /mbr
bootrec /fixmbr
bootrec /fixboot