рддреБрд░рдВрдд рдореИрдВ рдЖрдкрдХреЛ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЬрд▓реНрджрдмрд╛рдЬреА рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВ рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ
рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдХреЗ рд▓реЗрдЦрдХ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝рд╛ рдирд╣реАрдВ рд╣реВрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕реЗ рдкрдврд╝рдиреЗ рдФрд░ рд╕рдореБрджрд╛рдп рд╕реЗ рд▓реЗрдЦ рдХреЗ рд▓рд┐рдП рдЗрд╕ рддрд░рд╣ рдХреА рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рджреЗрдЦрдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВ рднреА рдкреНрд░реЗрд░рд┐рдд рд╣реБрдЖ рдФрд░ рдЕрдкрдиреА рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдФрд░ рдЬреНрдЮрд╛рди рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рдореЗрд░реЗ рдкреНрд░рд╡реЗрд╢ рдмрд┐рдВрджреБ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реЗрд╡рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВред
1. рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдЖрдк рдЗрд╕реЗ рдХрд╣рддреЗ рд╣реИрдВ, рдЙрд╕реЗ рдЬреЛрд░ рд╕реЗ рд▓рд┐рдЦреЗрдВ
рдЕрдиреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╕реЗ рдкрд╣рд▓реЗ рдЖрдкрдХрд╛ рдХрд╛рдо рдпрд╣ рджрд┐рдЦрд╛рдирд╛ рд╣реИ
рдХрд┐ рдЖрдк
рдХреНрдпрд╛ рдХрд░рддреЗ рд╣реИрдВ, рди
рдХрд┐ рдЖрдк рдЗрд╕реЗ
рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВред
рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдПрдХ рдФрд░ рдХреЛрдб рд▓рд┐рдЦреЗрдВ, рд╕реЛрдЪреЗрдВ рдФрд░ рдЬреЛрд░ рд╕реЗ рдпрд╛ рдЕрдкрдиреЗ рдЖрдк рд╕реЗ рдХрд╣реЗрдВ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рдХрд░рдиреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: "рд╣рдореЗрдВ рдЗрд╕ рддрддреНрд╡ рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред" рдХрдИ рддреБрд░рдВрдд, рдмрд┐рдирд╛ рдХрд┐рд╕реА рд╣рд┐рдЪрдХрд┐рдЪрд╛рд╣рдЯ рдХреЗ, рдореВрд░реНрддрд┐рдХрд▓рд╛:
$(".info").html("")
рдХреНрдпреЛрдВрдХрд┐ рдЙрдиреНрд╣реЛрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╡рд╛рдХреНрдпрд╛рдВрд╢
.innerHTML = ""
рдерд╛ред рдЕрдзрд┐рдХ рдкрд╕рдВрджреАрджрд╛ рд╡рд┐рдХрд▓реНрдк:
$(".info").empty()
рдпреЗ рд╕рдорд╛рди рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЕрдХреНрд╕рд░ рдирдИ рдЬрд╛рдирдХрд╛рд░реА рдбрд╛рд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рддрддреНрд╡ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЗ рд╣реИрдВ:
$(".info").html("").html("<b>Ok</b>")
рд▓реЗрдХрд┐рди рдордд рднреВрд▓рдирд╛ - рдЖрдк jQuery рдореЗрдВ рд▓рд┐рдЦ рд░рд╣реЗ рд╣реИрдВ! рдФрд░ рдпрд╣ рдЖрдкрдХреА рджреЗрдЦрднрд╛рд▓ рдХрд░рддрд╛ рд╣реИ, рдФрд░
.html()
рдПрдХ рдирдпрд╛ рдорд╛рди рдбрд╛рд▓рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рддрддреНрд╡ рдХреЛ рд╕реНрд╡рдпрдВ рд╕рд╛рдл рдХрд░ рджреЗрдЧрд╛ред
рдФрд░ рд╡рд╣ рдЗрд╕реЗ
.innerHTML
рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╕рдХреНрд╖рдо рд░реВрдк рд╕реЗ
.innerHTML
ред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рддрддреНрд╡ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рдЕрдВрджрд░ рдРрд╕реЗ рддрддреНрд╡ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рди рдкрд░ рдЖрдк рдкрд╣рд▓реЗ рдЗрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ рд▓рдЯрдХрд╛рддреЗ рд╣реИрдВ рдпрд╛
.data()
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред jQuery рдЗрд╕реЗ рд╕рд╛рдл рдХрд░ рджреЗрдЧрд╛ рдФрд░ рдореЗрдореЛрд░реА рд▓реАрдХ рдирд╣реАрдВ рд╣реЛрдЧреАред
рд╡реИрд╕реЗ, рдХрднреА-рдХрднреА рдЬрд╛рдирдХрд╛рд░реА рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣ рди рдХреЗрд╡рд▓ рдПрдХ рддрддреНрд╡ рдХреЛ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд▓реНрдХрд┐ рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╣рдЯрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдореАрдЪреАрди рд╣реИ:
$(".info").remove()
рдЕрдзрд┐рдХ ...
рдЗрд╕реЗ рд▓рд┐рдЦрддреЗ рд╕рдордп рдЗрд╕рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ:
$("#history").css("display", "none") $("#description").css("display", "none") $("#category").css("display", "none") $("#contact").css("display", "none")
рдЖрдкрдиреЗ рдХрд╣рд╛: "рдЗрддрд┐рд╣рд╛рд╕ рд╣рдЯрд╛рдПрдВ, рд╡рд┐рд╡рд░рдг рд╣рдЯрд╛рдПрдВ, рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рд╣рдЯрд╛рдПрдВ, рд╕рдВрдкрд░реНрдХ рд╣рдЯрд╛рдПрдВред" рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЖрдкрдиреЗ рдХрд╣рд╛: "рдЗрддрд┐рд╣рд╛рд╕, рд╡рд┐рд╡рд░рдг, рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рдФрд░ рд╕рдВрдкрд░реНрдХ рд╣рдЯрд╛рдПрдВред" рддреЛ рдпрд╣ рд▓рд┐рдЦреЗрдВ:
$("#history, #description, #category, #contact").hide()
рдФрд░ рдпрд╣ рдордд рднреВрд▓реЛ рдХрд┐ jQuery рддреБрдорд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдЖрдЗрдЯрдо рдХреЛ рдЫрд┐рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП
.hide()
рдФрд░
.hide()
рдХреЛ рджрд┐рдЦрд╛рдирд╛ рд╣реИред
mouseenter/mouseleave
рд╡реАрдПрд╕ mouseover/mouseout
mouseenter/mouseleave
рдЖрдкрдиреЗ рд╢рд╛рдпрдж рдПрдХ рдЙрдкрджреНрд░рд╡ рджреЗрдЦрд╛: рдХрднреА-рдХрднреА рдЬрдм рдЖрдк рдЯреВрд▓рдЯрд┐рдк рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рддрддреНрд╡ рдкрд░
mouseover/mouseout
рдИрд╡реЗрдВрдЯ рдХреА рдПрдХ рдЬреЛрдбрд╝реА рд▓рдЯрдХрд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдЯреВрд▓рдЯрд┐рдк
mouseover/mouseout
ред рдФрд░ рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЬрд┐рд╕ рддрддреНрд╡ рдкрд░ рдЖрдкрдиреЗ рд╣реИрдВрдбрд▓рд░ рд▓рдЯрдХрд╛рдП рд╣реИрдВ, рдЙрд╕рдХреЗ рдЕрдВрджрд░ рдПрдХ рдФрд░ рддрддреНрд╡ рд╣реИред рдЬрдм рдЖрдк рдорд╛рдЙрд╕ рдХрд░реНрд╕рд░ рдкрд░ рдордВрдбрд░рд╛рддреЗ рд╣реИрдВ, рддреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЖрдкрдХреЗ рдмрд╛рд╣рд░реА рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдЙрд╕ рдЗрд╡реЗрдВрдЯ, рдФрд░ рдЖрдкрдХреЗ рдЖрдВрддрд░рд┐рдХ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ
mouseover
рдЗрд╡реЗрдВрдЯ, рдФрд░ рдлрд┐рд░ рдмрд╛рд╣рд░реА рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ
mouseover
рдЗрд╡реЗрдВрдЯ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдЭрдЯрдХреЗ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди jQuery рд╣рдорд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╣рдореЗрдВ рдШрдЯрдирд╛рдУрдВ рдХреА рдПрдХ рдФрд░ рдЬреЛрдбрд╝реА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ -
mouseenter/mouseleave
, рдЬреЛ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣рд▓ рдХрд░рддрд╛ рд╣реИред рдкрд╛рд░рд┐рдд рд╣реИрдВрдбрд▓рд░ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЖрд╡рд░рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдлрд┐рд▓рд╣рд╛рд▓ рдЬрдм рдХрд░реНрд╕рд░ рдЖрдВрддрд░рд┐рдХ рддрддреНрд╡ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдмрд╛рд╣рд░реА рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдПрдХ
mouseout
рдШрдЯрдирд╛
mouseout
рд╣реЛрддреА рд╣реИред рдЙрд╕реА рд╕рдордп, jQuery рдЗрддрдирд╛ рднреЛрд▓рд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рдЫрд▓ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
event.relatedTarget
рд░реИрдкрд░ рдлрдВрдХреНрд╢рди
event.relatedTarget
рдкреНрд░реЙрдкрд░реНрдЯреА рдХреЛ рдЪреЗрдХ рдХрд░рддрд╛ рд╣реИ - рдХрд░реНрд╕рд░ рдЕрдм рдХрд┐рд╕ рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ - рдФрд░ рдЕрдЧрд░ рдпрд╣ рдХрд┐рд╕реА рдмрд╛рд╣рд░реА рдПрд▓рд┐рдореЗрдВрдЯ рдХреЗ рдЕрдВрджрд░ рд╣реИ, рддреЛ рдпрд╣ рдЖрдкрдХреЗ рджреНрд╡рд╛рд░рд╛
mouseleave
рдЧрдП
mouseleave
рд╣реИрдВрдбрд▓рд░ рдХреЛ рдХреЙрд▓ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдФрд░ рдХреЛрдИ рдЪрдВрдЪрд▓ рдирд╣реАрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛,
.hover(handlerIn, handlerOut)
рдлрд╝рдВрдХреНрд╢рди
.hover(handlerIn, handlerOut)
рдмрд╛рд░реЗ рдореЗрдВ рдордд рднреВрд▓рдирд╛, рдЬреЛ рджреЛ рд╣реИрдВрдбрд▓рд░ рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдЙрдиреНрд╣реЗрдВ
.hover(handlerIn, handlerOut)
рд░реВрдк рдореЗрдВ рд▓рдЯрдХрд╛ рджреЗрддрд╛ рд╣реИ:
$(selector).hover(function() { tooltip.show() }, function() { tolltip.hide() })
UPD : рдХреЙрдорд░реЗрдб
рд╡реИрдХреНрд╕рд░ рд╣рдореЗрдВ рдпрд╛рдж рджрд┐рд▓рд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рдВрд╕реНрдХрд░рдг 1.8 рдХреЗ рдмрд╛рдж рд╕реЗ
.hover()
рдПрдХ рдЕрдкреНрд░рдЪрд▓рд┐рдд рдлрд╝рдВрдХреНрд╢рди рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
3. .closest()
VS .closest()
рдЕрдХреНрд╕рд░ рдореИрдВ рдЗрд╕ рдбрд┐рдЬрд╝рд╛рдЗрди рдореЗрдВ рдЖрддрд╛ рд╣реВрдБ:
var person = $(".name").parent().parent().parent()
рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рдкрд╛рд╕ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬрд╛рдирдХрд╛рд░реА рд╣реИ, рдпрд╛ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдФрд░ рдЖрд╡рд╢реНрдпрдХ рддрддреНрд╡ рд╣реИред рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рдЬрдм рдЖрдк рдЫреБрдЯреНрдЯреА рдкрд░ рдереЗ, рдЖрдкрдХрд╛
$(".name")
рдХрд╣реАрдВ рдФрд░ рдЖрд╢реНрд░рдп рдерд╛, рд▓реЗрдХрд┐рди рдЙрд╕реА
person
рднреАрддрд░? рдХрдИ рдХрд╛рд░реАрдЧрд░ рд╡рд╛рдВрдЫрд┐рдд рд╡рд╕реНрддреБ рдХреЛ
.parent()
рдЪрдХреНрд░реАрдп рд░реВрдк рд╕реЗ рдХрд╣рддреЗ рд╣реИрдВред
рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рд▓реЛрдЧ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рд╡рд╣рд╛рдБ
.parentsUntil(selector)
, рдЬреЛ рд╕рднреА рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдПрдХ (рдЗрд╕реЗ рдЫреЛрдбрд╝рдХрд░) рд╡рд╛рдкрд╕ рдХрд░ рджреЗрдЧрд╛ред рд▓реЗрдХрд┐рди рдлрд┐рд░ рднреА рдирд┐рд░реНрдгрдп рдмреЛрдЭрд┐рд▓ рд╣реИ:
var person = $(".name").parentsUntil(".person").last().parent()
рд▓реЗрдХрд┐рди рдПрдХ рдФрд░ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХрд╛ рд╣реИ:
var person = $(".name").closest(".person ")
рдпрджрд┐ рд╣рдореЗрдВ рдпрд╛рдж рд╣реИ рдХрд┐ рд╣рдо рдХреЛрдб рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдЗрд╕реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ рдХрд╣реЗрдВрдЧреЗ, рддреЛ рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдЗрд╕рдХреА рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдФрд░ рд╕рдВрдХреНрд╖рд┐рдкреНрддрддрд╛ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реИред
4. $.ajax()
- рдмреЗрд╣рддрд░ рдХрдо рд╣реИ, рд▓реЗрдХрд┐рди рдмреЗрд╣рддрд░ рд╣реИ!
рд╣рдо рд╕рднреА AJAX рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ
$.ajax()
ред рдФрд░ рдЖрдк рдЙрд╕рд╕реЗ рдХрд┐рддрдирд╛ рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ? рдПрдХ рдЕрдиреНрдп рд▓реЗрдЦрдХ рджреНрд╡рд╛рд░рд╛ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рдЗрд╕ рдШрдЯрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдмрддрд╛рдИ рдЧрдИ рдереАред рдореИрдВ рдЕрдкрдиреА рдПрдХ рдЬреЛрдбрд╝реА рд▓рд╛рдКрдВрдЧрд╛ ...
рдореБрдЭреЗ рдЭреВрда рдмреЛрд▓рдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдирд╣реАрдВ рд╣реИ рдЕрдЧрд░ рдореИрдВ рдХрд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЕрдХреНрд╕рд░ - рдпрджрд┐ рд╣рдореЗрд╢рд╛ рдирд╣реАрдВ - рдПрдХ рд╣реА рдлрд╝рд╛рдЗрд▓ рдХреЛ AJAX рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░реЗрдВ, рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЖрджреЗрд╢реЛрдВ рдХреЛ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЗрд╕реЗ рдкрд╛рд░рд┐рдд рдХрд░рдирд╛ред рдЖрдк рдЫреЛрдЯреА рдХрд╛рд░реНрд░рд╡рд╛рдЗрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдирд╣реАрдВ рдмрдирд╛рддреЗ рд╣реИрдВ, рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐? рдпрд╣ рднреА рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЖрдк рд╣рдореЗрд╢рд╛ рдХрд┐рд╕реА рддрд░рд╣ рдХрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдкрд╛рд╕ рдХрд░реЗрдВ рдЬреЛ рдирд╣реАрдВ рдмрджрд▓рддрд╛ рд╣реИ; рдФрд░ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╣рдореЗрд╢рд╛ рдХреЗрд╡рд▓ json рд▓реМрдЯреЗрдВред рдЖрдЗрдП рд╣рдорд╛рд░реЗ рдЬреАрд╡рди рдХреЛ рдереЛрдбрд╝рд╛ рд╕рд░рд▓ рдХрд░реЗрдВ, рдХреНрдпреЛрдВрдХрд┐ jQuery рд╣рдорд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ:
$.ajaxSetup({ dataType: "json", url: "ajax.php", data: { user_id: userId } });
рдЕрдм рд╣рдореЗрдВ рдЗрди рдорд╛рдкрджрдВрдбреЛрдВ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рдЬрдм рд╣рдо рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рдСрдкрд░реЗрд╢рди рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╣реИрдВ:
$.ajax({ data: { product_id: productId }, success: function(json) { console.log(json) }, alert: " ..."
рдФрд░ рдХреЛрдб рдХреЛ рджреЛрд╣рд░рд╛рдП рдЬрд╛рдиреЗ рдХреЗ рд╕рд╛рде рдХреНрд╡реЗрд░реАрдЬрд╝ рдкреВрд░реА рдирд╣реАрдВ рд╣реЛрдВрдЧреАред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐
$.ajaxSetup
рдФрд░
$.ajaxSetup
рд╕реЗ
data
рдкреИрд░рд╛рдореАрдЯрд░ рдПрдХ рд╕рд╛рде рд╕рд░реЗрд╕ рд╕реЗ рдЬреЛрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рдФрд░ рдЙрдирдХреА рд░рд╛рд╢рд┐ рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬреА рдЬрд╛рддреА рд╣реИ (рдкреИрд░рд╛рдореАрдЯрд░
$.ajax
рд╕реЗ
$.ajaxSetup
рд╕реЗ рдПрдХ рд╣реА рдУрд╡рд░рд░рд╛рдЗрдЯ рдХрд░рддреЗ рд╣реИрдВ)ред
5. $.ajax()
- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░реЗрдВ
рдЗрд╕рд▓рд┐рдП ... рдпрд╛ рд╢рд╛рдпрдж рдЕрдм рд╣рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЙрд╕рдХреЗ рдЧреБрдкреНрдд рдорд╛рдорд▓реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реВрдЪрд┐рдд рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЬрдм AJAX рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВрдЧреЗ рддреЛ рдЙрд╕реЗ рд╕рдВрджреЗрд╢ рджреЗрдВрдЧреЗ? рдореБрдЭреЗ рдпрдХреАрди рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ рдЯрд╛рд▓ рджрд┐рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдЖрдкрдХреЛ рдЕрдХреНрд╕рд░ рдПрдХ рд╣реА рдмрд╛рдд рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдЙрджрд╛рд╣рд░рдг рдХреА рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕ рддрд░рд╣ рд╕реЗ рд╕рдВрджреЗрд╢ рдЬрд╛рд░реА рдХрд░реЗрдВрдЧреЗ:
<div id="popup" class="---"></div>
рдФрд░ рд╣рдо рдЗрд╕реЗ рдЕрдкрдиреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝реЗрдВрдЧреЗ:
$("#popup").ajaxSend(function(event, xhr, options) { $(this).text(options.alert || "...").show() }).ajaxStop(function() { $(this).fadeOut("fast") })
AJAX рдЕрдиреБрд░реЛрдз рд╣реЛрдиреЗ рдкрд░
.ajaxSend()
рд╣реИрдВрдбрд▓рд░ рдХреЛ рд╣рд░ рдмрд╛рд░ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдпрд╣рд╛рдВ рд╣рдо рдкреНрд░реЗрд╖рд┐рдд рд╕рдВрджреЗрд╢ (рдКрдкрд░ рджреЗрдЦреЗрдВ) рдпрд╛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
AJAX рдЕрдиреБрд░реЛрдз рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж
.ajaxStop()
рдХреЛ рдЕрдВрдд рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ; рдпрд╛рдиреА рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдХрдИ AJAX рдЕрдиреБрд░реЛрдз рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдП рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╣реИрдВрдбрд▓рд░ рдХреЛ рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рдХреЙрд▓ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ - рдЕрдВрддрд┐рдо рдЕрдиреБрд░реЛрдз рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рджред
рдФрд░ рдпрджрд┐ рдЖрдк рдПрдХ рдЕрд▓рдЧ рдкреЙрдк-рдЕрдк рдореЗрдВ рд╣рд░ рдмрд╛рд░ рдПрдХ рдирдпрд╛ рд╕рдВрджреЗрд╢ рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдХреЛрдб рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛:
$("body").ajaxSend(function(event, xhr, options) { $('<div class="popup" />') .appendTo(this) .css({}) .text(options.alert || "...") .delay(2000)
рдЖрдк рдЕрдкрдиреЗ рднрд╡рд┐рд╖реНрдп рдХреЗ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдХреА рдЧрдгрдирд╛ рдЬреЛрдбрд╝рдХрд░ рдкреЙрдкрдЕрдк рдХреА рд╕реНрдерд┐рддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдЪрд┐рдВрддрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
6. $ .ajax () - рдХреЛрдб рдХреЛ рд╕реВрдЪрд┐рдд рдХрд░реЗрдВ
рдЖрдЗрдП рдЕрдм рд╣рдорд╛рд░реЗ рдкреЙрдкрдЕрдк рдХреЛ рджреВрд╕рд░реА рддрд░рдл рдКрдкрд░ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рд╕реЗ рджреЗрдЦреЗрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреБрдЫ рдЬрдЯрд┐рд▓ рд╡рд┐рдЬреЗрдЯ рдХрд╛ рдбреЗрд╡рд▓рдкрд░ рд╣реИ рдЬреЛ рдкреГрд╖реНрда рдкрд░ рд╡рд░реНрддрдорд╛рди рдШрдЯрдирд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдФрд░ рджреВрд╕рд░рд╛ рд╡реНрдпрдХреНрддрд┐ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ AJAX рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдмрд╣реБрдд рд╕рд╛рд░реЗ AJAX рдЕрдиреБрд░реЛрдз рд▓рд┐рдЦреЗ рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдПрдХ рд╡рд┐рдЬреЗрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЙрддреНрдкрдиреНрди рд╣реЛ рд╕рдХрддреА рд╣реИред рдпрд╛рдиреА рдЬрдмрдХрд┐ рдХреЗрд╡рд▓ рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдпрджрд┐ рд╣рдо рдЕрдкрдиреЗ рдХреЛрдб рдФрд░ рд╣рдорд╛рд░реЗ рднрд╛рд╡реА рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ рд╕реЗ рдЙрддрдирд╛ рд╣реА рдкреНрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬрд┐рддрдирд╛ рдХрд┐ jQuery рд╣рдорд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рддреЛ рд╣рдореЗрдВ рдЕрдкрдиреЗ AJAX рдХреЗ рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рдЕрдзрд┐рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рдЕрдиреНрдп рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рдЕрдиреБрдорд╛рди рд╣реЛрдЧрд╛ред рдФрд░ рдРрд╕рд╛ рдХрд░реЗрдВрдЧреЗ:
$.ajax({ data: { action: "search-name", name: $("#name").val() }, beforeSend: function() { $(searchForm).trigger("start.search") }, complete: function() { $(searchForm).trigger("finish.search") } })
рдЕрдм рд╣рдо рдпрд╣ рдЪрд┐рдВрддрд╛ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рдХрд┐ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рд╣рдорд╛рд░реА рд╕рдВрдкрддреНрддрд┐ рдХреЛ рддреЛрдбрд╝ рджреЗрдЧрд╛ рдФрд░ рд░рд╕рднрд░реА рдХреЛ рдЦрд░рд╛рдм рдХрд░ рджреЗрдЧрд╛ред рдпрд╣ рд╕реВрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ (рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ?) рдХрд┐ рд╣рд░ рдХреЛрдИ рд╕рджрд╕реНрдпрддрд╛ рд▓реЗ рд╕рдХрддрд╛ рд╣реИ, рдпрджрд┐ рд╡реЗ рдЪрд╛рд╣реЗрдВ рддреЛ рдШрдЯрдирд╛рдУрдВ рдХреЛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
start.search
рдФрд░
finish.search
:
$(searchForm) .on("start.search", function() {
рдЖрдЦрд┐рд░рдХрд╛рд░, рд╣рдореЗрдВ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд░рдХрд╛рд░ рдХреА рдШрдЯрдирд╛рдУрдВ рдХреЛ рдмрдирд╛рдиреЗ, рдЙрдиреНрд╣реЗрдВ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдФрд░ рдЙрдирдХреА рд╕рджрд╕реНрдпрддрд╛ рд▓реЗрдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИ! :) jQuery рд╣рдорд╕реЗ рдкреНрдпрд╛рд░ рдХрд░рддрд╛ рд╣реИред