დღეს ჩვენ ვაპირებთ გადავხედოთ Flipping Gallery jQuery დანამატს, რომელიც საშუალებას გაძლევთ შექმნათ მაგარი სურათების გალერეები ძალიან კრეატიული გადასვლებით. მაგალითში არის 5 ტიპის გადასვლები ამ მოდულის გამოყენებით. მოდული მართლაც ძალიან მარტივი გამოსაყენებელია, ასე რომ ნებისმიერს შეუძლია სრულად იმუშაოს მასთან.
მაგალითი შეგიძლიათ ნახოთ აქ:
ჩვენ უფრო დეტალურად განვიხილავთ, თუ როგორ შევქმნათ მენიუ დემო 2-დან, როდესაც მენიუ გამოჩნდება ზედა მარცხენა მხარეს.
ჯერ უნდა ჩართოთ jQuery ბიბლიოთეკა, რომელიც შეგიძლიათ ჩამოტვირთოთ და Flipping Gallery მოდული, ტეგებს შორის. :
1 2 3 4 5 6 | <თავი > ... <"http://code.jquery.com/jquery-1.9.1.js"> script > <სკრიპტის ტიპი = "text/javascript" src= "http://code.jquery.com/jquery.flipping_gallery.js"> script > ... </თავი> |
შემდეგ ვაწყობთ სურათებს. თქვენ შეგიძლიათ დაამატოთ იმდენი სურათი, რამდენიც გსურთ:
1 2 3 4 5 6 7 8 | <div class="gallery"> <href="#"> a > <href="#"> a > <href="#"> a > <href="#"> a > <href="#"> a > ... </div> |
და სურათების აღწერილობის დასამატებლად (როგორც დემო 4 და 5-ში) თქვენ უნდა გამოიყენოთ ატრიბუტი მონაცემთა წარწერა:
1 2 3 4 5 6 7 8 | <div class="gallery"> <a href = "#" data-caption= "ძალიან" > a > <a href = "#" data-caption= "cool" > a > <a href = "#" data-caption= "გალერეა" > a > <a href = "#" data-caption= "გამოყენება" > a > <a href="#" data-caption="Flipping"> a > ... </div> |
1 2 3 4 5 6 7 8 9 | $. |
ვნახოთ, რას ნიშნავს თითოეული მეთოდი:
ახლა თქვენ გაქვთ შესანიშნავი გალერეა, რომელიც შეგიძლიათ გამოიყენოთ თქვენი ფოტოების გამოქვეყნებისას.
ამ ტუტორიალში გაჩვენებთ როგორ შევქმნათ მინიმალისტური, მაგრამ ამავე დროს კომფორტული და ფუნქციონალური jQuery ფოტო გალერეა, ან სურათების გალერეა, როგორც გსურთ. გალერეას აქვს კატეგორიების შექმნის შესაძლებლობა, რასაც მოჰყვება ფილტრაცია. ასევე შესაძლებელია სლაიდ შოუს გაშვება. გალერეა მუშაობს ყველა ბრაუზერში, ამიტომ ადაპტაციის პრობლემა არ იქნება.
ამ გალერეის შესაქმნელად გამოყენებული იქნება ორი უფასო ბიბლიოთეკა jQuery: სწრაფი ქვიშადა PrettyPhoto. ისინი მნიშვნელოვნად ამარტივებს გალერეის შექმნას. როგორც ყოველთვის, თქვენ შეგიძლიათ ნახოთ სამუშაოს შედეგი დემო გვერდზე, ასევე ჩამოტვირთოთ არქივი სამუშაო გალერეიდან და ყველა წყარო ფაილი. ერთადერთი უარყოფითი, თუ შემიძლია ასე ვთქვა, არის ესკიზების ხელით შექმნა დიდი სურათებისთვის. სხვა ყველაფრისთვის ეს გალერეაყურადღების ღირსი.
წყაროები
პირველ რიგში, მოდით გავაანალიზოთ პანელი კატეგორიების სიით, ეს არის პუნქტიანი სია ul . უფრო მეტიც, სიის თითოეულ ელემენტს უნდა ჰქონდეს უნიკალური კლასის სახელი.
როგორც ზემოთ აღინიშნა, სიის ელემენტები გალერეაში არსებული სურათებია. სიის თითოეული ელემენტი შეიცავს კომპონენტებს. ეს არის თავად სურათი, უფრო სწორად მისი მინიატურა, ისევე როგორც აღწერა. ესკიზი არის მთავარი სურათის ბმული. rel ატრიბუტი საჭიროა ჯავასკრიპტის გამოსაძახებლად და მთავარი სურათის გასახსნელად.
ასევე არ დაგავიწყდეთ 2 მნიშვნელოვანი რამ, li list ელემენტს უნდა ჰქონდეს უნიკალური data-id ატრიბუტი. მონაცემთა ტიპის ატრიბუტი შეიცავს კატეგორიის კლასს, რომლის სია ზემოთ აღვწერე. როგორც ჩანს, ყველაფერი მარკირებას ეხება.
მე არ გავამახვილებ ყურადღებას სტილებზე, რადგან ჩვენ ვიყენებთ მზა ბიბლიოთეკას PrettyPhoto, რომელიც პასუხისმგებელია გამოსახულების გაზრდაზე და არის უამრავი css კოდი. ამასთან, აღსანიშნავია, რომ გაფართოებული გამოსახულების დიზაინის 5 ვარიანტია, თუმცა იდეალურად მხოლოდ 3, რადგან ორ ვარიანტში დამრგვალება მხოლოდ ამოღებულია.
ამიტომ, მე ვაჩვენებ მხოლოდ CSS სტილებს ესკიზებისთვის და კატეგორიების ჩამონათვალში.
პორტფოლიო-კატეგი (ზღვარი-ქვედა: 30 პიქსელი; )
.portfolio-categ li(
ჩვენება: inline;
margin-right:10px;
}
.image-block(
ჩვენება: ბლოკი;
პოზიცია: ნათესავი;
}
.image-block img(
საზღვარი: 1px მყარი #d5d5d5;
საზღვარი-რადიუსი: 4px 4px 4px 4px;
ფონი:#FFFFFF;
padding: 10px;
}
.image-block img:hover (
საზღვარი: 1px მყარი #A9CF54;
box-shadow:0 0 5px #A9CF54;
}
.პორტფოლიო-არეალი li (
float: მარცხენა;
ზღვარი: 0 12px 20px 0;
გადინება: დამალული;
სიგანე: 245 პიქსელი
padding: 5px;
}
.home-portfolio-text ( margin-top:10px;)
li.active a (ტექსტის დეკორაცია: ხაზგასმული; )
პრინციპში, ყველაფერი ნათელი უნდა იყოს სტილით. იმისთვის, რომ კატეგორიები დალაგდეს, ჩვენების თვისება დაყენებულია inline . გამოსახულების შტრიხის ეფექტის მისაცემად დაყენებულია ფონის ფერი (თეთრი) და 10 პიქსელიანი ბალიშები. სიის ელემენტების ზომები მითითებულია .portfolio-area li .
და ბოლოს, ყველაზე მთავარი, რისთვისაც მთელი გაკვეთილი. ეს არის jQuery კოდი. დავიწყოთ სურათების კატეგორიის მიხედვით გაფილტვრით.
// აირჩიეთ პორტფოლიო-არეის ყველა ბავშვის ელემენტი და ჩაწერეთ ცვლადზე
var $data = $(".portfolio-area").clone();
$(".portfolio-categ li").click(function(e) (
$(".ფილტრი li").removeClass("აქტიური");
Var filterClass=$(this).attr("class").split(" ").slice(-1);
თუ (filterClass == "ყველა") (
var $filteredData = $data.find(".portfolio-item2");
) სხვა (
var $filteredData = $data.find(".portfolio-item2");
}
$(".portfolio-area").quicksand($filteredData, (
ხანგრძლივობა: 600
სიმაღლის კორექტირება: "ავტომატური"
), ფუნქცია() (
LightboxPhoto();
});
$(this).addClass("აქტიური");
დაბრუნება false;
});
clone() მეთოდისა და სელექტორის გამოყენებით ვირჩევთ .portfolio-area-ის ყველა შვილს და ვწერთ $data ცვლადში. შემდეგი, ჩვენ ვადევნებთ თვალს დაწკაპუნებას ერთ-ერთ კატეგორიაზე, სიის li ელემენტზე .portfolio-categ კლასით. ჩვენ ყველა კატეგორიას უმოქმედოდ ვაქცევთ removeClass("active") ამოღებით, თუ ეს არ გაკეთებულა, დროთა განმავლობაში ყველა კატეგორია გააქტიურდება და ფილტრაცია შეჩერდება.
ვინაიდან სიის ელემენტზე ვაწკაპუნებთ, ეს სელექტორი შეიცავს სიის ელემენტს, ანუ li, მისგან ვიღებთ კლასის ატრიბუტის მნიშვნელობას და ვიყენებთ split მეთოდს კლასის სახელის რამდენიმე ნაწილად გასაყოფად, საზღვარი არის სივრცე (ე.ი. თუ კლასი იყო „ყველა აქტიური“, მაშინ გაყოფის შემდეგ მივიღებთ მასივს „ყველა“ და „აქტიური“). შემდეგ კი, slice მეთოდის გამოყენებით, ვირჩევთ მასივის პირველ ელემენტს (ჩვენს შემთხვევაში, „ყველა“) და მიღებულ შედეგს ვწერთ filterClass ცვლადში. თუ სივრცე არ იყო, მაშინ კლასის სახელი არ შეიცვლება.
შემდეგი, ჩვენ ვამოწმებთ არის თუ არა სტრიქონი filterClass ცვლადში ყველა, შემდეგ .find მეთოდის გამოყენებით ვირჩევთ ყველა ელემენტს portfolio-item2 კლასით $data მასივიდან, რომელიც ზემოთ განვიხილეთ. შერჩეული ელემენტები (და ეს არის სიის ყველა ელემენტი, ანუ ყველა სურათი) მოთავსებულია filteredData ცვლადში.
წინააღმდეგ შემთხვევაში, თუ filterClass არ არის ტოლი ყველა, შემდეგ filterData ცვლადში ჩავსვამთ არა სიის ყველა ელემენტს, არამედ მხოლოდ მათ, ვისი მონაცემთა ტიპის ატრიბუტი ემთხვევა კატეგორიის კლასს. მოკლედ, მხოლოდ ერთი კატეგორიის ელემენტები.
და ბოლოს, ჩვენ გადავცემთ შედეგად ცვლადს ბიბლიოთეკაში jquery სწრაფი ქვიშა, რომელიც ასრულებს გამოსახულების ფილტრაციას. ეს ყველაფერი ფილტრაციაზეა.
ახლა, რაც შეეხება გამოსახულების მასშტაბირებას pop-up ფანჯარაში. აქ ყველაფერი ბევრად უფრო მარტივია.
jQuery("a").prettyPhoto((
ანიმაციის სიჩქარე: "სწრაფი",
სლაიდშოუ: 5000
თემა: "ფეისბუქი",
show_title: ყალბი
overlay_gallery: ყალბი
});
აკონტროლებს ბმულზე დაწკაპუნებას, რომლის rel ატრიბუტი იწყება beautifulPhoto-ით. შემდეგ ბიბლიოთეკა თამაშში შედის. ლამაზი ფოტო, და გამოსახულება სასწაულებრივად იზრდება. სხვათა შორის, რამდენიმე პარამეტრსაც გავდივართ. მაგალითად, ანიმაციის სიჩქარე არის სწრაფი, სლაიდ შოუში შეფერხება 5 წამი, ფეისბუქის თემა (სულ 5 არის, სურათების / beautifulPhoto საქაღალდეშია), ასევე კრძალავს სურათის სახელის ჩვენებას და გაზრდას. სურათი ჰოვერზე.
დიდხანს შევარჩიე თემა დღევანდელი თემისთვის. შედეგად, შევამჩნიე, რომ ჩვენ ჯერ არ გაგვიკეთებია არჩევანი სურათების გალერეები. მე ვფიქრობ, რომ ეს შესანიშნავი თემაა, რადგან გალერეებიწარმოდგენილია ბევრ საიტზე. გულწრფელად რომ ვთქვათ, არცერთი მათგანი არ არის ძალიან მიმზიდველი. განვითარების მიმდინარე ტენდენციების გათვალისწინებით jquery, html5და ა.შ. ვფიქრობდი, რადგან უკვე უნდა არსებობდეს ბევრად უფრო მიმზიდველი გადაწყვეტილებები, ვიდრე ის, რაც ადრე შევხვდი. Ისე. ერთი დღის გატარების შემდეგ, ჩვენ მოვახერხეთ უამრავი სცენარის პოვნა. მთელი ამ მთიდან გადავწყვიტე გამომერჩია მხოლოდ, რადგან მიყვარს, როგორც უკვე შენიშნეთ წინა პოსტებიდან.
სურათების გალერეაეხება არა მხოლოდ ფოტო ალბომებით. სკრიპტის გამოყენება შეიძლება, ვფიქრობ, რომ კიდევ უფრო სწორი იქნება, როგორც პორტფოლიო ფოტოგრაფებისთვის, დიზაინერებისთვისდა ა.შ. jquery ეფექტებიდაგეხმარებათ მიიპყროთ ვიზიტორების ყურადღება და უბრალოდ შემატოთ ელეგანტურობა თქვენს საიტზე.
Ისე. კოლექცია თქვენი ყურადღებისთვის jquery სურათების გალერეის დანამატები ვებსაიტისთვის.
არ დაგავიწყდეთ კომენტარის გაკეთება და დამახსოვრება, რათა არ დაკარგოთ ეს კოლექცია, შეგიძლიათ დაამატოთ ის თქვენს რჩეულებში სტატიის ბოლოში მდებარე ვარსკვლავზე დაწკაპუნებით.
Სალამი ყველას! დღეს ჩვენ ვაპირებთ ვისაუბროთ შესაძლოა საუკეთესო უფასო ფოტო გალერეაზე, ვიდეო და ფოტო სლაიდერზე, მოდით ვისაუბროთ "ფოტო ჩარჩოზე". მიუხედავად იმისა, რომ სცენარს უკვე 2 წელია არ უჭერს მხარს და ავტორი გადავიდა მსგავსი პროექტიის მშვენივრად მუშაობს და აგრძელებს თვალის სიამოვნებას.
მთავარი პლიუსები (+)
მინუსები (-)
კავშირის ეს ვარიანტი უმარტივესი, მაგრამ არა საუკეთესოა, ის უნდა იქნას გამოყენებული მხოლოდ იმ შემთხვევაში, თუ თქვენ გჭირდებათ გალერეის ჩვენება საიტის უმეტეს გვერდებზე. ამ ვარიანტის უპირატესობა არის CDN-ის გამოყენება.
ძიების გასაადვილებლად გამოიყენეთ Ctrl + F . თუ არ არის სანუკვარი ხაზი, მაშინ თქვენ უნდა შეიყვანოთ jQuery. WordPress-ზე ეს შეიძლება გაკეთდეს ქვემოთ მოცემული კოდის ჩასმით თემის ფუნქციების ფაილში (functions.php). სინამდვილეში, ეს სკრიპტი გამოიყენება jQuery-ის სხვადასხვა ვერსიებს შორის კონფლიქტების დროს და მუშაობს შემდეგი სქემის მიხედვით: წაშლის ადრე რეგისტრირებულ jQuery-ს, არეგისტრირებს ახალს და გამოსცემს სკრიპტს. jQuery ბიბლიოთეკის მიმდინარე ვერსიები შეგიძლიათ იხილოთ აქ.
თქვენ შეგიძლიათ უბრალოდ ჩასვათ ეს ხაზი მათ შორის
და : <სკრიპტი src= "http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> სკრიპტი>В этом варианте подключения файлы скрипта будут выводиться только на нужных страницах через [шорткод ]. А если вы используете плагин Autoptimize, то код скрипта в придачу интегрироваться в файлы темы. Эти нехитрые манипуляции должны увеличить скорость загрузки сайта.
გალერეა გამოსახულია HTML კოდის გამოყენებით კონტეინერი ეს ასე გამოიყურება: ან ასე (ბმულის ნუმერაცია არჩევითია): ჩარჩოს ბლოკის ზომა არის პირველი სურათის ზომა, სხვა სურათები მასშტაბირებულია პირველის პროპორციულად. ამ სიტუაციის გამოსასწორებლად, შეგიძლიათ ხელით მიუთითოთ ზომები. არის სხვა პარამეტრებიც: data-width="98%" // შედარებითი სიგანე data-ratio="800/600" // ასპექტის თანაფარდობა data-minwidth="420" // წთ. სიგანე data-maxwidth="900" // მაქს. სიგანე data-minheight="320" // წთ. სიმაღლე data-maxheight="100% // შედარებითი მაქს. სიმაღლე data-height="100% // ფარდობითი სიმაღლე Data-nav="thumbs" პასუხისმგებელია ესკიზებზე მაგრამ ეს მეთოდი არ არის ძალიან ეფექტური, რადგან სკრიპტმა უნდა ჩატვირთოს ყველა ფოტო ერთდროულად, რათა შექმნას ესკიზები, ამიტომ უფრო რაციონალური იქნება წინასწარ მოამზადოთ სურათების მცირე ასლები. WordPress ავტომატურად წარმოქმნის მინიატურებს და ჩვენ მათ გამოვიყენებთ. მინიატურაზე დასაკავშირებლად დაამატეთ -70x70 ფაილის სახელს (https://website/wp-content/uploads/2017/11/27ltl9eRXk.jpg → https://website/wp-content/uploads/2017/11/27ltl9eRXk-70x70.jpg). ნაგულისხმევად, ესკიზი არის 64 × 64. თქვენ შეგიძლიათ დაარეგულიროთ ეს პარამეტრი მონაცემთა ცერის (სიგანე) და მონაცემთა ცერის სიმაღლის (სიმაღლე) გამოყენებით. თუ გსურთ, რომ ესკიზს ჰქონდეს საკუთარი ზომა, დააყენეთ სიგანისა და სიმაღლის პარამეტრები მინიატურების ფაილისთვის: ფოტოჩარჩო იდეალურად უმკლავდება HTML და CSS, რაც მნიშვნელოვნად აფართოებს სკრიპტის ფუნქციონირებას. იმუშავეთ ბმულებთან, ბლოკებთან, ცხრილებთან, აბზაცებთან, დაწერეთ CSS და სხვა. ქვემოთ მოცემულია გალერეის მუშაობის რამდენიმე მაგალითი. თუ ვიზუალური ნაწილი არ არის ნაჩვენები, დააჭირეთ ღილაკს "შედეგი". მაგალითების ჩვენება/დამალვა იხილეთ კალამი ooppwb by Ivanov Klim (@DreamerKlim) CodePen-ზე. იხილეთ კალამი aVEEVb by Ivanov Klim (@DreamerKlim) CodePen-ზე. ამისთვის შესაძლებელია ცალკე დიდი სურათის დამატება სრული ეკრანის რეჟიმიმონაცემთა სრული საშუალებით: Სალამი ყველას! ამ სტატიაში ჩვენ განვიხილავთ როგორ შევქმნათ ლამაზი და მოხერხებულად დასალაგებელი გალერეა jQuery-ით. ლამაზი, ადვილად დასალაგებელი გალერეა შესანიშნავი რამ არის თქვენი საიტისთვის, რომელიც გაახარებს თქვენ და თქვენს ვიზიტორებს. დღეს ჩვენ გადავხედავთ ბიბლიოთეკისთვის ძალიან მარტივ დასაინსტალირებელ და კონფიგურაციას. jQuery– ფილტრაცია. გამოყენების სიმარტივის მიუხედავად, მოდული საკმაოდ მსუბუქი და ეფექტურია. მოდით შევხედოთ მას უფრო დეტალურად. იმის სანახავად, თუ როგორ მუშაობს მოდული, გადადით ოფიციალურ საიტზე და აი ის თქვენს წინაშეა! თქვენ შეგიძლიათ აირჩიოთ ქალაქის, ბუნების, ინდუსტრიის, მზის ამოსვლის, მზის ჩასვლის მიხედვით დახარისხება ან ყველა ფოტოს ჩვენება (ნაგულისხმევი). არის ღილაკი ჩარევა, რომელიც საშუალებას მოგცემთ აურიოთ სურათები. ღილაკები ASCდა DESCდაალაგეთ სურათები შესაბამისად ზრდადობით და კლებადობით. თუ გსურთ სურათის მოძიება პოზიციის ან აღწერის მიხედვით, აირჩიეთ სასურველი ელემენტი ჩამოსაშლელ სიაში და შეიყვანეთ მოთხოვნა საძიებო ველში. როდესაც სურათზე მაუსით ატარებთ, სურათი იცვლება შავ-თეთრიდან ფერად. ბიბლიოთეკის ჩამოსატვირთად დააჭირეთ ღილაკს ჩამოტვირთვაან გამოიყენეთ NPM: npm დააინსტალირე filterizr მოდული უკვე კონფიგურირებულია, მაგრამ თუ გსურთ ნაგულისხმევი პარამეტრების გადალახვა, შეგიძლიათ: 1) გადასცეს ობიექტი კონსტრუქტორს პარამეტრებით jQuery var filterizd = $(".filtr-container").filterizr(( 2) გადაწერეთ პარამეტრების გამოყენებით setOptions ()მეთოდი ობიექტში Filterizr. Filterizd.filterizr("setOptions", ( ნაგულისხმევი პარამეტრები: პარამეტრები = ( მეტი დეტალური ინსტრუქციებიდა თითოეული პარამეტრის აღწერა შეგიძლიათ იხილოთ აქFotorama პარამეტრების მაგალითები
კონტეინერის ზომები
მინიატურები
HTML კოდი + ფოტომასალა
Სრული ეკრანის რეჟიმი
data-allowfullscreen="true" //ბრაუზერის ფანჯარაში data-allowfullscreen="native" //მთელი მონიტორისთვის სხვა
data-autoplay= "true" //autoplay data-autoplay="3000" //სლაიდებს შორის ინტერვალი ms-ში data-caption "ერთი" //კომენტარები სურათებზე data-keyboard = "true" //ნავიგაცია ისრებით data-shuffle= "true" //გამოსახულებები შერეულია data-navposition= "ზემო" // მინიატურები ზედამონაცემთა მარყუჟი = "true" //ციკლის გადახვევაშევეცადოთ დავაკავშიროთ ყველაფერი და დავამატოთ ვიდეო დემონსტრაცია
ინსტალაცია
// პარამეტრები
})
// პარამეტრები
})
Პარამეტრები
ანიმაცია ხანგრძლივობა: 0.5
ზარები: (
onFilteringStart: ფუნქცია() ( ),
onFilteringEnd: ფუნქცია() ( )
},
დაგვიანება: 0
delayMode: "პროგრესული",
შემსუბუქება: "გამარტივება",
ფილტრი: "ყველა",
filterOutCss: (
გამჭვირვალობა: 0
transform: "scale(0.5)"
},
filterInCss: (
გამჭვირვალობა: 0
transform: "scale(1)"
},
განლაგება: "sameSize",
ამომრჩევი: ".filtr-container",
setupControls: true
}