گروه مقاله : جاوا اسكريپت Java Script
تاريخ انتشار : 1396/07/02 - 11:17
كد :7866

ایجاد اسلایدر همراه با عنوان

در این مقاله اسلایدری ایجاد می کنیم که عنوان هر عکس در زیر آن قرار دارد.

اسلاید شو همراه با عنوان

 

مشاهده اسلایدر

در این آموزش ما یک اسلایدر ایجاد می کنیم که درون یک حاشیه پا صفحه نیمه شفاف هست که از آن برای قرار دادن عنوان عکس استفاده می کنیم.

نکته میتوان با کد های جی کوئری براحتی از ویژگی عنوان تصویر برای این قسمت استفاده کرد . در این حالت کاربران CMS براحتی میتوانند چنین اسلایدری را ایجاد کنند.

کد های HTML

ما در آموزش های خود HTML را در ساده ترین حالت ممکن طراحی می کنیم. برای اینکه بتوانیم از این کدها در مرورگرهایی که از جاوا پشتیبانی نمی کنند هم بهره ببریم. هنگامی که برای یک کار حرفه ای اسلایدر طراحی می کنید، باید چندین افکت را ترکیب کنید تا به نتیجه ای برسید، که برای مشتری قابل قبول باشد. بنابراین از کپی کردن اسلایدر های آموزشی برای تحویل به مشتری اکیدا خودداری کنید. اینکار فقط به مشتریان نشان میدهد شما هنوز یک آماتور هستید.

اولین عکس استلایدر به نام Show است ، کلاس Show دارای بیشترین Z-index است ، بنابراین عکس دارای این کلاس در بالا نمایش داده میشود. یک DIV با کلاس caption هم داریم که بیشترین Z-index را به خود میگیرد. این DIV برای نمایش عنوان تصاویر به کار می رود. عنوان عکس از صفت Rel عکس ها خوانده میشود. اگر کاربر بخواهد عنوان عکس را عوض کند باید صفت REL عکس را ویرایش کند. به کد ها نگاه کنید.

<div id="gallery">

<a href="#" class="show">

<img src="images/flowing-rock.jpg" alt="Flowing Rock" alt="" title="" width="580" height="360" rel="<h3>Flowing Rock</h3>You can put html element

inside the REL attribute."/></a>

</a>

<a href="#">

<img src="images/grass-blades.jpg" alt="Grass Blades" alt="" title="" width="580" height="360" rel="<h3>Grass Blades</h3>description"/>

</a>

......

......

......

<div class="caption"><div class="content"></div></div>

</div>

<div class="clear"></div>

کد های CSS

در این قسمت ، ما یک کانتینر به نام #gallery برای عکس های اسلاید شو قرار میدهیم . در CSS ما Z-index را برای SHOW کمتر از Z-index برای Caption قرار میدهیم.

body{

font-family:arial

}

.clear {

clear:both

}

#gallery {

position:relative;

height:360px

}

#gallery a {

float:left;

position:absolute;

}

#gallery a img {

border:none;

}

#gallery a.show {

z-index:500

}

#gallery .caption {

z-index:600;

background-color:#000;

color:#ffffff;

height:100px;

width:100%;

position:absolute;

bottom:0;

}

#gallery .caption .content {

margin:5px

}

#gallery .caption .content h3 {

margin:0;

padding:0;

color:#1DCCEF;

}

3. کد جاوااسکریپت

در آخر ، کد جاوا اسکریپت را خواهیم نوشت. برای ایجاد اسلاید شو ما کار های زیر را انجام میدهیم.

تمام عکس ها را مخفی می کنیم.

عنوان اولین عکس را به نمایش می گذاریم.

عکس با کلاس Show را یافته ، با استفاده از متد next() این کلاس را به عکس بعدی می دهیم.

عکس ها را متحرک می کنیم(عکس اول مخفی شده و عکس بعدی به نمایش در می آید.)

گام های بالا را تکرار می کنیم.

$(document).ready(function() {

//Execute the slideShow

slideShow();

});

function slideShow() {

//Set the opacity of all images to 0

$('#gallery a').css({opacity: 0.0});

//Get the first image and display it (set it to full opacity)

$('#gallery a:first').css({opacity: 1.0});

//Set the caption background to semi-transparent

$('#gallery .caption').css({opacity: 0.7});

//Resize the width of the caption according to the image width

$('#gallery .caption').css({width: $('#gallery a').find('img').css('width')});

//Get the caption of the first image from REL attribute and display it

$('#gallery .content').html($('#gallery a:first').find('img').attr('rel'))

.animate({opacity: 0.7}, 400);

//Call the gallery function to run the slideshow, 6000 = change to next image after 6 seconds

setInterval('gallery()',6000);

}

function gallery() {

//if no IMGs have the show class, grab the first image

var current = ($('#gallery a.show')? $('#gallery a.show') : $('#gallery a:first'));

//Get next image, if it reached the end of the slideshow, rotate it back to the first image

var next = ((current.next().length) ? ((current.next().hasClass('caption'))? $('#gallery a:first') :current.next()) : $('#gallery a:first'));

//Get next image caption

var caption = next.find('img').attr('rel');

//Set the fade in effect for the next image, show class has higher z-index

next.css({opacity: 0.0})

.addClass('show')

.animate({opacity: 1.0}, 1000);

//Hide the current image

current.animate({opacity: 0.0}, 1000)

.removeClass('show');

//Set the opacity to 0 and height to 1px

$('#gallery .caption').animate({opacity: 0.0}, { queue:false, duration:0 }).animate({height: '1px'}, { queue:true, duration:300 });

//Animate the caption, opacity to 0.7 and heigth to 100px, a slide up effect

$('#gallery .caption').animate({opacity: 0.7},100 ).animate({height: '100px'},500 );

//Display the content

$('#gallery .content').html(caption);

}

مشاهده نتیجه

همانطور که مبینید ما یک اسلایدر بسیار زیبا ایجاد کرده ایم. این اسلایدر دارای یک عنوان است که کاربر می تواند آن را ویرایش کند.

 

براي بهره مندي از مشاوره تخصصي در زمینه طراحی سایت در کرج با شرکت سارگون تماس بگيريد

نظرات كاربران :