рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐
рд╕рднреА рдХреЛ рд╢реБрдн рджрд┐рдиред рдореИрдВ рдЖрдкрдХреЛ рдЫреБрдЯреНрдЯрд┐рдпреЛрдВ рдкрд░ рдмрдзрд╛рдИ рджреЗрддрд╛ рд╣реВрдВ рдФрд░ рд╡рд┐рд╖рдп рдкрд░ рдЖрдЧреЗ рдмрдврд╝рддрд╛ рд╣реВрдВред
рдЬрдм рдЖрдк рд╕рд░рд▓ jQuery рдХреЗ рд╕реНрдирд┐рдкреЗрдЯ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдкрд░реЗ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░реИрдХреНрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХрд╛ рдХреЛрдб рдЬрд▓реНрджреА рд╕реЗ рдмреЛрдЭрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдбрд┐рдмрдЧ рдХрд░рдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рд▓реЗрдЦ рдЖрдкрдХреЛ рджрд┐рдЦрд╛рдПрдЧрд╛ рдХрд┐ рд╡рд╕реНрддреБ рдХреЗ рд╢рд╛рдмреНрджрд┐рдХ рдбрд┐рдЬрд╛рдЗрди рдкреИрдЯрд░реНрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ "рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗ рдХрдгреЛрдВ" рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЗрди рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреИрд╕реЗ рд╕реЛрдЪрдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВред
рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ рдиреЗ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╕рд╛рдЗрдЯ рдХреЗ рд╕рд╛рде рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдЬреЛрдбрд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рджреА рд╣реИред рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ, рдЬреИрд╕реЗ рдХрд┐ jQuery, рдореЗрдВ рдПрдХ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЗрддрдирд╛ рд╕рд░рд▓ рд╣реИ рдХрд┐ рд╢реВрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЕрдиреБрднрд╡ рд╡рд╛рд▓реЗ рд▓реЛрдЧ рд╕реАрдЦ рдЪреБрдХреЗ рд╣реИрдВ рдХрд┐ рдХреИрд╕реЗ рдЬрд▓реНрджреА рд╕реЗ рдЕрдкрдиреЗ рдкрдиреНрдиреЛрдВ рдореЗрдВ "рдШрдВрдЯрд┐рдпрд╛рдБ рдФрд░ рд╕реАрдЯреА" рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛрдб рд╕реЗ рдХреБрдЫ рджрд░реНрдЬрди рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдкреНрд▓рдЧрдЗрди, рдХреЙрдкреА рдФрд░ рдкреЗрд╕реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдкрд░рд┐рдгрд╛рдо - рдЧреНрд░рд╛рд╣рдХ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдЖрдк рдЕрдкрдиреЗ рд░рд┐рдЬреНрдпреВрдореЗ рдореЗрдВ jQuery рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред
рд▓реЗрдХрд┐рди рдПрдХ рдкрд▓ рд░реБрдХрд┐рдПред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЕрдм рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рдмрджрд▓ рдЧрдИ рд╣реИрдВред рдЕрдм рддреАрди рддрддреНрд╡реЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ рдХреЛрдб рджрд╕ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╛ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рдЕрд▓рдЧ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдкреБрди: рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдкрд╣рдЪрд╛рдирдХрд░реНрддрд╛ рдЕрд▓рдЧ рд╣реИрдВред рдХреЛрдб рдореЗрдВ рдЦреЛ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдирд╣реАрдВ, рдЬреЛ рдХрд┐ рдкреНрд▓рдЧрдЗрди рдпрд╛ рдХреЙрд▓ рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рдирд╣реАрдВ рд╣реИ рдЬреИрд╕реЗ рд╢реЛ () рдФрд░ рдЫрд┐рдкрд╛рдиреЗ ()?
рдкреНрд░рд╕реНрддреБрдд рд╣реИ рд╡рд╕реНрддреБ рд╢рд╛рдмреНрджрд┐рдХ рдЕрд░реНрде
рд░реВрд╕реА рдореЗрдВ рдЗрд╕ рд╢рдмреНрдж рдХреА рдкрд░рд┐рднрд╛рд╖рд╛ рдЦреЛрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рд▓реЗрдЦ рдкрд░ рдЖрдпрд╛ред рдореИрдВ рдЖрднрд╛рд░реА рд░рд╣реВрдВрдЧрд╛ рдЕрдЧрд░ рдХреЛрдИ рдореБрдЭреЗ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рдкрд░рд┐рднрд╛рд╖рд╛ рджреЗрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред
рдСрдмреНрдЬреЗрдХреНрдЯ рд▓рд┐рдЯрд░рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдкреИрдЯрд░реНрди рдХреЛрдб рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдРрд╕рд╛ рддрд░реАрдХрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╢реБрд░реБрдЖрдд рдореЗрдВ рд╣реА рд╕реЛрдЪреЗрдВрдЧреЗ рдХрд┐ рдЖрдкрдХрд╛ рдХреЛрдб рдХреНрдпрд╛ рдХрд░реЗрдЧрд╛ рдФрд░ рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рди рд╣рд┐рд╕реНрд╕реЛрдВ рдореЗрдВ рдЬрдЧрд╣ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЖрдкрдХреЗ рдХреЛрдб рдХреЛ "рд╡реИрд╢реНрд╡рд┐рдХ рдирд╛рдорд╕реНрдерд╛рди рдХреЛ рдкреНрд░рджреВрд╖рд┐рдд рдХрд░рдиреЗ" рд╕реЗ рд░реЛрдХрдиреЗ рдХрд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рддрд░реАрдХрд╛ рд╣реИ, рдЬреЛ рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЕрдиреНрдп) рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рдЕрднреНрдпрд╛рд╕ рд╣реИред рдСрдмреНрдЬреЗрдХреНрдЯ рд▓рд┐рдЯреНрд░реЗрд▓ рднреА рдПрдХ рддрд░рд╣ рд╕реЗ рдЕрддрд┐рдХреНрд░рдорд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╣реИред
var myObjectLiteral = {
myBehavior1 : function () {
/* - */
},
myBehavior2 : function () {
/* */
}
};
* This source code was highlighted with Source Code Highlighter .
рдХреГрддреНрд░рд┐рдо рд░реВрдк рд╕реЗ рд╕рд░рд▓реАрдХреГрдд рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рд╕реВрдЪреА рдЖрдЗрдЯрдо рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рдкрд░ рд╕рд╛рдордЧреНрд░реА рджрд┐рдЦрд╛рдиреЗ рдпрд╛ рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ jQuery рдХрд╛ рдЯреБрдХрдбрд╝рд╛ рджреВрдВрдЧрд╛:
$( document ).ready( function () {
$( '#myFeature li' )
.append( '<div/>' )
.each( function () {
$( this ).find( 'div' )
.load( 'foo.php?item=' + $( this ).attr( 'id' ));
})
.click( function () {
$( this ).find( 'div' ).show();
$( this ).siblings().find( 'div' ).hide();
});
});
* This source code was highlighted with Source Code Highlighter .
рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред рдФрд░ рдлрд┐рд░ рднреА, рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдХреБрдЫ рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рдЖрдк рдмрд╛рдж рдореЗрдВ рдмрджрд▓рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВ - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЖрдкрдиреЗ рд╕рд╛рдордЧреНрд░реА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП URL рд╕реЗрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдкрд░рд┐рдгрд╛рдореА рд╕рд╛рдордЧреНрд░реА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреА рд╣реИ, рдЖрджрд┐ред рдСрдмреНрдЬреЗрдХреНрдЯ рд▓рд┐рдЯрд░рд▓ рд╡реНрдпреВ рдореЗрдВ, рдлрд╝рдВрдХреНрд╢рди рдЗрди рдкрд╣рд▓реБрдУрдВ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЕрд▓рдЧ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдЗрд╕ рддрд░рд╣ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ:
var myFeature = {
config : {
wrapper : '#myFeature' ,
container : 'div' ,
urlBase : 'foo.php?item='
},
init : function (config) {
$.extend(myFeature.config, config);
$(myFeature.config.wrapper).find( 'li' ).
each( function () {
myFeature.getContent($( this ));
}).
click( function () {
myFeature.showContent($( this ));
});
},
buildUrl : function ($li) {
return myFeature.config.urlBase + $li.attr( 'id' );
},
getContent : function ($li) {
$li.append(myFeature.config.container);
var url = myFeature.buildUrl($li);
$li.find(myFeature.config.container).load(url);
},
showContent : function ($li) {
$li.find( 'div' ).show();
myFeature.hideContent($li.siblings());
},
hideContent : function ($elements) {
$elements.find( 'div' ).hide();
}
};
$( document ).ready( function () { myFeature.init(); });
* This source code was highlighted with Source Code Highlighter .
рдЪреВрдВрдХрд┐ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЙрджрд╛рд╣рд░рдг рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рд╕рд░рд▓ рд╣реИ, рдСрдмреНрдЬреЗрдХреНрдЯ рд▓рд┐рдЯрд░рд▓ рд╡рд┐рдХрд▓реНрдк рдмрдбрд╝рд╛ рд╣реИред рд╕рд╣реА рдорд╛рдпрдиреЗ рдореЗрдВ, рдСрдмреНрдЬреЗрдХреНрдЯ рд▓рд┐рдЯрд░рд▓ рд╡рд┐рдзрд┐ рдЖрдкрдХреЛ рдХреЛрдб рдХреА рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдореЗрдВ рдорджрдж рдирд╣реАрдВ рдХрд░реЗрдЧреА, рд▓реЗрдХрд┐рди рдпрд╣ рдЖрдкрдХреЛ рд╕рд┐рд░рджрд░реНрдж рд╕реЗ рдмрдЪрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреАред рдСрдмреНрдЬреЗрдХреНрдЯ рд▓рд┐рдЯрд░рд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рддрд╛рд░реНрдХрд┐рдХ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рддрд╛рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рд╣рдо рдЬреЛ рдХреБрдЫ рднреА рдмрджрд▓рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдЙрд╕реЗ рдЖрд╕рд╛рдиреА рд╕реЗ рдкрд╛ рд╕рдХреЗрдВред рд╣рдордиреЗ рдЕрдкрдиреЗ рдХреЛрдб рдХреЛ рдПрдХреНрд╕реНрдЯреЗрдВрд╕рд┐рдмрд▓ рдмрдирд╛ рджрд┐рдпрд╛, рдЬрд┐рд╕рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдорд┐рд▓рддреА рд╣реИред рд╣рдордиреЗ рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╕реНрд╡-рдкреНрд░рд▓реЗрдЦрди рднреА рдХрд┐рдпрд╛ рдерд╛ - рдЕрдм рд╣рдорд╛рд░реЗ "рдХреЛрдб рдХрд╛ рдЯреБрдХрдбрд╝рд╛" рдХреНрдпрд╛ рд╣реИ "рдореЗрдВ" рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдЖрдкрдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдВ рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рджрд╛рдпрд░реЗ рд╕реЗ рдЖрдЧреЗ рдмрдврд╝рддреА рд╣реИрдВ, рд╡рд╕реНрддреБ рд╢рд╛рдмреНрджрд┐рдХ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рд▓рд╛рдн рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдВрдЧреЗ (рдиреАрдЪреЗ рджреЗрдЦреЗрдВ)ред
рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг
рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рддрддреНрд╡ рдмрдирд╛рдирд╛ рд╣реЛрдЧрд╛, рдЬреЛ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЕрдиреБрднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдПрдХ рдЕрдиреБрднрд╛рдЧ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдиреЗ рд╕реЗ рдЙрдк-рд╡рд░реНрдЧреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдЧреАред рдиреЗрд╡рд┐рдЧреЗрд╢рди рдореЗрдиреВ рдореЗрдВ рдПрдХ рдЙрдкрдзрд╛рд░рд╛ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ, рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рд╛рдордЧреНрд░реА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЬрдм рдЖрдк рдХрд┐рд╕реА рдЕрдиреБрднрд╛рдЧ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЙрд╕рдХрд╛ рдкрд╣рд▓рд╛ рдЙрдк-рднрд╛рдЧ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдкрд╣рд▓реЗ рдЦрдВрдб рдХреЛ рдкреГрд╖реНрда рд▓реЛрдб рд╕рдордп рдкрд░ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ( рдпрд╣ рд╡рд╣реА рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП )ред
рдЪрд░рдг 1: HTML рд╕рдВрд░рдЪрдирд╛
рдЕрдЪреНрдЫрд╛ рдЕрд░реНрде рдХреЛрдб HTML рд▓рд┐рдЦрдирд╛ рдЕрдЪреНрдЫрд╛ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рддреЛ рдЖрдЗрдП рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪреЗрдВ рдХрд┐ HTML рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдХреИрд╕рд╛ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИред HTML рдЪрд╛рд╣рд┐рдП:
- рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЕрдХреНрд╖рдо рдХреЗ рд╕рд╛рде рд╕реБрд▓рдн (рдФрд░ рдХрд╛рдо) рдХрд░реЗрдВред
- рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реНрд╡рд╛рдиреБрдорд╛рдирд┐рдд DOM рдкреНрд░рджрд╛рди рдХрд░реЗрдВред
- рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЖрдИрдбреА рдФрд░ рдХрдХреНрд╖рд╛ рд╕реЗ рдмрдЪрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдВред
рдЗрди рд╕рд┐рджреНрдзрд╛рдВрддреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП:
< div id ="myFeature" >
< ul class ="sections" >
< li >
< h2 >< a href ="/section/1" > Section 1 </ a ></ h2 >
< ul >
< li >
< h3 >< a href ="/section/1/content/1" > Section 1 Title 1 </ a ></ h3 >
< p > The excerpt content for Content Item 1 </ p >
</ li >
< li >
< h3 >< a href ="/section/1/content/2" > Section 1 Title 2 </ a ></ h3 >
< p > The excerpt content for Content Item 2 </ p >
</ li >
< li >
< h3 >< a href ="/section/1/content/3" > Section 1 Title 3 </ a ></ h3 >
< p > The excerpt content for Content Item 3 </ p >
</ li >
</ ul >
</ li >
< li >
< h2 >< a href ="/section/2" > Section 2 </ a ></ h2 >
< ul >
< li >
< h3 >< a href ="/section/2/content/1" > Section 2 Title 1 </ a ></ h3 >
< p > The excerpt content for Content Item 1 </ p >
</ li >
< li >
< h3 >< a href ="/section/2/content/2" > Section 2 Title 2 </ a ></ h3 >
< p > The excerpt content for Content Item 2 </ p >
</ li >
< li >
< h3 >< a href ="/section/2/content/3" > Section 2 Title 3 </ a ></ h3 >
< p > The excerpt content for Content Item 3 </ p >
</ li >
</ ul >
</ li >
< li >
< h2 >< a href ="/section/3" > Section 3 </ a ></ h2 >
< ul >
< li >
< h3 >< a href ="/section/3/content/1" > Section 3 Title 1 </ a ></ h3 >
< p > The excerpt content for Content Item 1 </ p >
</ li >
< li >
< h3 >< a href ="/section/3/content/2" > Section 3 Title 2 </ a ></ h3 >
< p > The excerpt content for Content Item 2 </ p >
</ li >
< li >
< h3 >< a href ="/section/3/content/3" > Section 3 Title 3 </ a ></ h3 >
< p > The excerpt content for Content Item 3 </ p >
</ li >
</ ul >
</ li >
</ ul >
</ div >
* This source code was highlighted with Source Code Highlighter .
рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд╣рдордиреЗ рд╕реЗрдХреНрд╢рди рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдХрдЕрдк рдХреЛ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рдЗрди рднрд╛рдЧреЛрдВ рдХреЛ jQuery рджреНрд╡рд╛рд░рд╛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдХреЗрд╡рд▓ jQuery рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗ; рдЧреИрд░-рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдХреЗрд╡рд▓ рд╕реБрдВрджрд░ рд╢рдмреНрджрд╛рд░реНрде рдорд╛рд░реНрдХрдЕрдк рдорд┐рд▓реЗрдЧрд╛ред (рдпрджрд┐ рдпрд╣рд╛рдВ рд╕реЗ рдХреБрдЫ рднреА рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рдпрд╛ рднреНрд░рдорд┐рдд рд▓рдЧрддрд╛ рд╣реИ, рддреЛ рдЖрдк POSH (рд╕рд╛рджрд╛-рдкреБрд░рд╛рдирд╛ рдЕрд░реНрде HTML) рдФрд░ рдкреНрд░рдЧрддрд┐рд╢реАрд▓ рд╕рдВрд╡рд░реНрджреНрдзрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЪрд░рдг 2: рд╕реБрд╡рд┐рдзрд╛ рддреИрдпрд╛рд░ рдХрд░реЗрдВ
рдХрд┐рд╕реА рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдиреЗ рдореЗрдВ рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдХрджрдо рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рд╕реНрдЯрдмреНрд╕ рдмрдирд╛рдирд╛ рд╣реИред рд╕реНрдЯрдмреНрд╕ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рдХреЛрдб рд╕рдВрд░рдЪрдирд╛ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдиреЗ рдореЗрдВ рдЖрдкрдХреА рд╕рд╣рд╛рдпрддрд╛ рдХрд░рддреЗ рд╣реИрдВред рд╣рдорд╛рд░реА рд╡рд╕реНрддреБ рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрд░реАрдХреЗ рд╣реЛрдВрдЧреЗ:
var myFeature = {
'config' : { },
'init' : function () { },
'buildSectionNav' : function () { },
'buildItemNav' : function () { },
'showSection' : function () { },
'showContentItem' : function () { }
};
* This source code was highlighted with Source Code Highlighter .
myFeature.config
рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп
myFeature.config
, рдЬреЛ рдПрдХ рд╕реНрдерд╛рди рдкрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рди рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рддрд╛ рд╣реИред рдЬрдм рд╣рдо
myFeature.init ()
рд╡рд┐рдзрд┐ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рддреЛ рд╣рдо рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рдиреЛрдВ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдЬреЛрдбрд╝ рджреЗрдВрдЧреЗред
рдЪрд░рдг 3: рдХреЛрдб
рдЗрд╕ рдХрдВрдХрд╛рд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рдХреЛрдб рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдЗрдП рдПрдХ рд╕рд░рд▓
myFeature.config
рдСрдмреНрдЬреЗрдХреНрдЯ рдФрд░
myFeature.init ()
рд╡рд┐рдзрд┐ рдмрдирд╛рдХрд░ рд╢реБрд░реВ рдХрд░реЗрдВ:
'config' : {
// #myFeature
'container' : $( '#myFeature' )
},
'init' : function (config) {
// init()
if (config && typeof (config) == 'object' ) {
$.extend(myFeature.config, config);
}
// / DOM
//
myFeature.$container = myFeature.config.container;
myFeature.$sections = myFeature.$container.
//
find( 'ul.sections > li' );
myFeature.$section_nav = $( '<p/>' )
.attr( 'id' , 'section_nav' )
.prependTo(myFeature.$container);
myFeature.$item_nav = $( '<p/>' )
.attr( 'id' , 'item_nav' )
.insertAfter(myFeature.$section_nav);
myFeature.$content = $( '<p/>' )
.attr( 'id' , 'content' )
. insertAfter(myFeature.$item_nav);
//
// ""
myFeature.buildSectionNav(myFeature.$sections);
myFeature.$section_nav.find( 'li:first' ).click();
// HTML
myFeature.$container.find( 'ul.sections' ).hide();
// ( )
myFeature.initialized = true ;
}
* This source code was highlighted with Source Code Highlighter .
рдЕрдЧрд▓рд╛,
myFeature.buildSectionNav ()
рд╡рд┐рдзрд┐ рдмрдирд╛рдПрдБ:
'buildSectionNav' : function ($sections) {
//
$sections.each( function () {
var $section = $( this );
//
$( '<li/>' )
// h2
//
.text($section.find( 'h2:first' ).text())
//
.appendTo(myFeature.$section_nav)
// data()
.data( 'section' , $section)
// click
.click(myFeature.showSection);
});
* This source code was highlighted with Source Code Highlighter .
рдЕрдЧрд▓рд╛,
myFeature.buildItemNav()
рд╡рд┐рдзрд┐ рдмрдирд╛рдПрдБ:
'buildItemNav' : function ($items) {
$items.each( function () {
var $item = $( this );
//
$( '<li>' )
// h3
//
.text($item.find( 'h3:first' ).text())
// add the list item to the item navigation
.appendTo(myFeature.$item.nav)
// data()
.data( 'item' , $item)
// click
.click(myFeature.showContentItem);
});
* This source code was highlighted with Source Code Highlighter .
рдЕрдВрдд рдореЗрдВ, рд╣рдо рдЕрдиреБрднрд╛рдЧреЛрдВ рдФрд░ рд╕рд╛рдордЧреНрд░реА рддрддреНрд╡реЛрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддрд░реАрдХреЗ рд▓рд┐рдЦреЗрдВрдЧреЗ:
'showSection' : function () {
var $li = $( this );
//
myFeature.$item_nav.empty();
myFeature.$content.empty();
// jQuery
// data() buildSectionNav
var $section = $li.data( 'section' );
//
$li.addClass( 'current' )
.siblings().removeClass( 'current' );
//
var $items = $section.find( 'ul li' );
//
myFeature.buildItemNav($items);
// ""
myFeature.$item_nav.find( 'li:first' ).click();
},
'showContentItem' : function () {
var $li = $( this );
//
$li.addClass( 'current' )
.siblings().removeClass( 'current' );
// jQuery
// data() buildSectionNav
var $item = $li.data( 'item' );
//
myFeature.$content.html($item.html());
}
* This source code was highlighted with Source Code Highlighter .
рд╕рдм рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рд╣реИ
myFeature.init()
:
$( document ).ready(myFeature.init);
* This source code was highlighted with Source Code Highlighter .
рдЖрдк рдкреВрд░реА рддрд╕реНрд╡реАрд░ рдпрд╣рд╛рдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ (+ рдХреБрдЫ рд╕реАрдПрд╕рдПрд╕ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП)ред
рдЪрд░рдг 4: рдЖрд╡рд╢реНрдпрдХрддрд╛рдПрдБ рдмрджрд▓реЗрдВ
рдЕрдВрддрд┐рдо рд╕рдордп рдореЗрдВ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд┐рдирд╛ рдПрдХ рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИ, рд╣реИ рдирд╛? рдСрдмреНрдЬреЗрдХреНрдЯ рд▓рд┐рдЯрд░рд▓ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрд╡рд╢реНрдпрдХ рдкрд░рд┐рд╡рд░реНрддрди рдХреЛ рдЬрд▓реНрджреА рдФрд░ рджрд░реНрдж рд░рд╣рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддрд╛ рд╣реИред
рдЕрдЧрд░ рд╣рдореЗрдВ AJAX рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдВрд╢ рдХреА рд╕рд╛рдордЧреНрд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдФрд░ HTML рд╕реЗ рдирд╣реАрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрдЧрд╛? рдмреИрдХрдПрдВрдб рд╕реЗрдЯрд┐рдВрдЧ рдХреЛ рдЫреЛрдбрд╝рдХрд░:
var myFeature = {
'config' : {
'container' : $( '#myFeature' ),
//
// URL
'getItemURL' : function ($item) {
return $item.find( 'a:first' ).attr( 'href' );
}
},
'init' : function (config) {
//
},
'buildSectionNav' : function ($sections) {
//
},
'buildItemNav' : function ($items) {
//
},
'showSection' : function () {
//
},
'showContentItem' : function () {
var $li = $( this );
$li.addClass( 'current' ).
siblings().removeClass( 'current' );
var $item = $li.data( 'item' );
var url = myFeature.config.getItemURL($item);
// myFeature.$content.html($item.html());
myFeature.$content.load(url);
}
};
* This source code was highlighted with Source Code Highlighter .
рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛рдкрди рдЪрд╛рд╣рд┐рдП? рдХрдИ рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдк рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (рдФрд░ рдЗрд╕рд▓рд┐рдП рдлрд┐рд░ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ)ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдкреНрд░рддреНрдпреЗрдХ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдЖрдЗрдЯрдо рдХреЗ рд▓рд┐рдП рд╢реАрд░реНрд╖рдХ рдкрд╛рда рдХреЛ рдЦреЛрдЬрдиреЗ рдФрд░ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП myFeature.config рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
var myFeature = {
'config' : {
'container' : $( '#myFeature' ),
'itemNavSelector' : 'h3' ,
'itemNavProcessor' : function ($selection) {
return 'Preview of ' +
$selection.eq(0).text();
}
},
'init' : function (config) {
//
},
'buildSectionNav' : function ($sections) {
//
},
'buildItemNav' : function ($items) {
$items.each( function () {
var $item = $( this );
var myText = myFeature.config.itemNavProcessor(
$item.find(myFeature.config.itemNavSelector)
);
$( '<li/>' )
.text(myText)
.appendTo(myFeature.$item_nav)
.data( 'item' , $item)
.click(myFeature.showContentItem);
});
},
'showSection' : function () {
//
},
'showContentItem' : function () {
//
}
};
* This source code was highlighted with Source Code Highlighter .
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк
myFeature.init ()
рдХреЙрд▓ рдХрд░рдХреЗ рдЗрд╕реЗ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
$( document ).ready( function () {
myFeature.init({ 'itemNavSelector' : 'h2' });
});
* This source code was highlighted with Source Code Highlighter .
рдирд┐рд╖реНрдХрд░реНрд╖
рдпрджрд┐ рдЖрдк рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдХреЛрдб рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рд▓рд┐рдЯрд░рд▓ рдХреА рдПрдХ рдмреБрдирд┐рдпрд╛рджреА рд╕рдордЭ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП, рдФрд░ рдЖрдк рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдПрдХ рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдБ рд╕реЗ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ ред