Automatikus jQuery alapú képnézegető
Alapok a képnézegető kód használatához
Ahhoz, hogy a kód működjön, fontos, hogy elhelyezd a portálodon a jquery.js fájlt az alábbi módon
<script type="text/javascript" src="/js/jquery.js"></script>
|
Ha a fenti kód nincs fennt a portálodon pl. a fejléc modulodban vagy a bal felső egyszerű modulodban, a képnézegető nem fog működni. Azért javaslom inkább a fejléc modult, mert a fenti jquery.js scriptnek először kell lefutnia, mint a lenti image rotator scriptnek, és a fejléc modul tölt be legelőször.
A képnézegető kód
Az alábbi javascriptből, css-ből és div-ből áll a képnézegető kódja. Fogd az alábbi kódot, és másold be egy az egyben valamelyik modulod forrásába, és egyből működni fog.
<script type="text/javascript">
$(document).ready(function() {
//Set Default State of each portfolio piece
$(".paging").show();
$(".paging a:first").addClass("active");
//Get size of images, how many there are, then determin the size of the image reel.
var imageWidth = $(".window").width();
var imageSum = $(".image_reel img").size();
var imageReelWidth = imageWidth * imageSum;
//Adjust the image reel to its new size
$(".image_reel").css({'width' : imageReelWidth});
//Paging + Slider Function
rotate = function(){
var triggerID = $active.attr("rel") - 1; //Get number of times to slide
var image_reelPosition = triggerID * imageWidth; //Determines the distance the image reel needs to slide
$(".paging a").removeClass('active'); //Remove all active class
$active.addClass('active'); //Add active class (the $active is declared in the rotateSwitch function)
//Slider Animation
$(".image_reel").animate({
left: -image_reelPosition
}, 500 );
};
//Rotation + Timing Event
rotateSwitch = function(){
play = setInterval(function(){ //Set timer - this will repeat itself every 3 seconds
$active = $('.paging a.active').next();
if ( $active.length === 0) { //If paging reaches the end...
$active = $('.paging a:first'); //go back to first
}
rotate(); //Trigger the paging and slider function
}, 7000); //Timer speed in milliseconds (3 seconds)
};
rotateSwitch(); //Run function on launch
//On Hover
$(".image_reel a").hover(function() {
clearInterval(play); //Stop the rotation
}, function() {
rotateSwitch(); //Resume rotation
});
//On Click
$(".paging a").click(function() {
$active = $(this); //Activate the clicked paging
//Reset Timer
clearInterval(play); //Stop the rotation
rotate(); //Trigger rotation immediately
rotateSwitch(); // Resume rotation
return false; //Prevent browser jump to link anchor
});
});
</script>
<style type="text/css">
/*--Main Container--*/
.container {
width: 600px;
}
.folio_block {
left: 50%; top: 50%;
}
.main_view {
float: left;
position: relative;
}
/*--Window/Masking Styles--*/
.window {
height:350px; width: 500px;
overflow: hidden; /*--Hides anything outside of the set width/height--*/
position: relative;
}
.image_reel {
position: absolute;
top: 0; left: 0;
}
.image_reel img {float: left;}
/*--Paging Styles--*/
.paging {
position: absolute;
bottom: 40px; right: -7px;
width: 178px; height:47px;
z-index: 100; /*--Assures the paging stays on the top layer--*/
text-align: center;
line-height: 40px;
background: url(/portal/gportal/image/gallery/1307537669_31.png) no-repeat;
display: none; /*--Hidden by default, will be later shown with jQuery--*/
}
.paging a {
padding: 5px;
text-decoration: none;
color: #ffffff!important
}
.paging a.active {
font-weight: bold;
background: #920000;
border: 1px solid #610000;
-moz-border-radius: 3px;
-khtml-border-radius: 3px;
-webkit-border-radius: 3px;
}
.paging a:hover {font-weight: bold;}
</style>
<div class="container">
<div class="folio_block">
<div class="main_view">
<div class="window">
<div class="image_reel">
<img src="/portal/gportal/image/gallery/1244455775_85.jpg" width="500">
<img src="/portal/gportal/image/gallery/1244455786_70.jpg" width="500">
<img src="/portal/gportal/image/gallery/1244455784_67.jpg" width="500">
<img src="/portal/gportal/image/gallery/1244455785_77.jpg" width="500">
<img src="/portal/gportal/image/gallery/1244455775_85.jpg" width="500">
<img src="/portal/gportal/image/gallery/1244455786_70.jpg" width="500">
<img src="/portal/gportal/image/gallery/1244455784_67.jpg" width="500">
</div>
</div>
<div class="paging">
<a href="#" rel="1">1</a>
<a href="#" rel="2">2</a>
<a href="#" rel="3">3</a>
<a href="#" rel="4">4</a>
<a href="#" rel="5">5</a>
<a href="#" rel="6">6</a>
<a href="#" rel="7">7</a>
</div>
</div>
</div>
</div>
|
A fenti kódban pirossal jelöltem azokat a részeket, amiket módosítanod kell ahhoz, hogy saját tartalom jelenjen meg a popupban.
A legelső piros kód a galéria magasságát és szélességét jelöli, ez megegyezik a galériában látható képek magasságával és szélességével. Értelemszerűen módosítsd a magasságot és a szélességet is akkorára, amekkora a képeid mérete.
A második piros kód a lapozó jelenleg piros színű háttérképét jelöli, ezt olyanra cseréled, amilyenre szeretnéd, de meghagyhatod ilyennek is.
Az alsó piros kódot jelölik a képnézegetőben látható képek url-jét, és azok szélességét. A képek url-jét írd át a saját képeid url címére. Értelemszerűen célszerű ugyanolyan méretű képeket listáznod a képnézegetőben. A képek url-je után add meg a képek szélességét is, különben nem fog jól működni a képnézegető.
A képek alatt a lapozó számait jelöltem pirossal. Értelemszerűen a lapozó száma egyezzen a képek számával. Jelenleg 7 képet listáz a képnézegető, így a lapozóban 7 linket láthatsz.
|