Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
jQuery is sehr schoen fuer kleine, schnelle, eyecandy funktionalitaet, wenn man mehr will muss man aber sehr schnell sehr tief in den innereien rumspielen.
Prototype is ganz lustig, und bietet sehr viel funktionalitaet benoetigt aber wesentlich mehr einarbeitungszeit.
@ice-breaker: Um welche Funktionalitäten geht es dir da genau?
Objektorientierung und dann die vielen netten Funktionen (wie in Prototype oder Mootools) für Arrays, Strings, Cookies usw.
Beides verbunden in einem Framework wäre perfekt![]()
jup :-(jQuery ist eben schlank und auf das Wesentliche (was für die meisten Zwecke ausreicht) beschränkt. Für Cookie-Support gibt es beispielsweise ein nettes Plugin.
MooTools/Prototype sind eben nicht einfach auf das nur-DOM-anpassen ausgelegt, aber die Doku ist doch ausreichend, ist doch alles erklärtIch musste während meines Ferienjobs mit MooTools arbeiten und fand es im Vergleich zu jQuery einfach umständlich. Das lag zum Teil auch an der nicht wirklich überzeugenden Dokumentation...
soll in Mootools 1.3 rein, wobei ich es ehrlich gesagt nicht braucheKönnen MooTools und Prototype eigentlich native Event-Delegation?
als bestes Beispiel: Class.create()
MooTools/Prototype sind eben nicht einfach auf das nur-DOM-anpassen ausgelegt, aber die Doku ist doch ausreichend, ist doch alles erklärt![]()
#content div:not(#pagetitle)
CSS3-Expressions, hmm, nuja, kann man sehen wie man will.Was mich auch noch geärgert hat, war der fehlende Support für komplexere :not()-Selektoren. jQuery unterstützt sowas zum Beispiel:
PHP:#content div:not(#pagetitle)
tausende pro Seite werden mit Webapps aber ziemlich schwer zu erreichen sein, das sind doch dann eh alles nur Feature-Demos oder?Event Delegation wirst du noch zu schätzen lernen, wenn du mal ein Projekt hast, wo tausende EventHandler pro Seite definiert werden müssen und dein Browser einfach nur lahm wird. Speziell der IE < 8 ist da so ein Fall für sich...
tausende pro Seite werden mit Webapps aber ziemlich schwer zu erreichen sein, das sind doch dann eh alles nur Feature-Demos oder?
<ul class="navigation">
<li><a class="menu_headline" href="/admin/config">Config Verwaltung</a>
<ul class="container_pages">
<li><a href="/admin/config/edit">edit</a></li>
<li><a href="/admin/config/new">new</a></li>
<li><a href="/admin/config/delete">delete</a></li>
</ul>
</li>
<li><a class="menu_headline" href="/admin/template">Template Verwaltung</a>
<ul class="container_pages">
<li><a href="/admin/template/edit">edit</a></li>
<li><a href="/admin/template/new">new</a></li>
<li><a href="/admin/template/delete">delete</a></li>
</ul>
</li>
</ul>
$(document).ready(function() {
// handle menu Toggle view
$('.menu_headline').click(
function (event) {
$(this).next($('.container_pages').slideToggle("slow"));
return false;
}
);
});
$(this).next($('.container_pages').slideToggle("slow"));
$(this).next(".container_pages").slideToggle("slow");
Die Zeile ist falsch:
....
$(document).ready(function() {
// handle menu Toggle view
$('.menu_headline').click(
function (event) {
// betroffene Zeile
if($('#current_menuchilds').contents() == $(this).next('.container_pages')) {
$('#current_menuchilds').slideUp();
return false;
}
if($('#current_menuchilds') != "") {
$('#current_menuchilds').fadeOut();
}
$('#current_menuchilds').wrapInner($(this).next('.container_pages'));
$('#current_menuchilds').fadeIn("slow");
//$(this).next('.container_pages').slideToggle("slow");
return false;
}
);
});
$(document).ready(function() {
// handle the teaser too show flashMessages
$('#teaser').slideToggle("slow").animate({opacity: 1.0}, 10000).slideToggle("slow");
});
$(document).ready(
function() {
// handle menu Toggle view
$('.menu_headline').click(
function (event) {
if($(this).next('.container_pages').hasClass('.displays')) {
$(this).next('.container_pages').removeClass('displays');
$('#current_menuchilds').slideUp();
return false;
}
if($('#current_menuchilds') != "") {
$('#current_menuchilds').fadeOut();
}
// remove first all other classes
$('.container_pages').removeClass('displays');
$(this).next('.container_pages').addClass('displays');
$('#current_menuchilds').wrapInner($(this).next('.container_pages')).fadeIn("slow");
//$(this).next('.container_pages').slideToggle("slow");
return false;
}
);
});
jQuery(document).ready(function(){
$('.accordion .head').click(function() {
$(this).next().toggle('slow');
return false;
}).next().hide();
});