problem był głównie w strukturze HTML - a raczej w sposobie ostylowania (pozamieniałem najważniejsze):
#hidder {
WIDTH: 708px; FLOAT: left; HEIGHT: 160px; OVERFLOW: hidden; position: relative;
}
#roller {
WIDTH: 2000px; MAX-HEIGHT: 160px; position: absolute;
}
hiderowi dalem pozycjonowanie relatywne coby w nim względnie móc pozycjonować absolutnie... przez floaty na obrazkach musiałem dać jakąś w kosmos sporą szerokość - dałem na rolerze szerokość 2000...
w skryptach powywalałem wszystkie niejawne eval'e na setTimeout i zamieniłem to o czym wspominałem, że mi nie pasuje - być może tam błędów nie było gdyż konsolę włączyłem po dokonaniu zmian... chociaż skrypt chodzi to pytanie po co Ci float do wartości marginesu?? - raczej powinno być parseInt zamiast:
margin=parseFloat($("#roller").css('marginLeft'));
a dokładniej powinno być margin=~~parseInt($("#roller").css('marginLeft')); coby się jeszcze tego NaN pozbyć na początku...
no i obiekty jQuery mogłeś zbuforować - zapamiętać w jakiejś zmiennej coby nie szukać co chwila w drzewie DOM...
NIE SPRAWDZAŁEM TEŻ JAK TO TERAZ WYGLĄDA W INNYCH PRZEGLĄDARKACH - i tak specjalnie musiałem windowsa włączać a konsola pod IE jest tragiczna
cały skrypt js i css poniżej
var textarea = document.getElementById("description");
var title;
var description;
var password;
$("#title").focus(function(e){
title = $("#title").attr("value");
if(title == "Podaj tytuł zdjęcia...")
$("#title").attr("value","")
})
$("#title").blur(function(e){
title = $("#title").attr("value");
if(title == "")
$("#title").attr("value","Podaj tytuł zdjęcia...")
})
$("#password").focus(function(e){
password = $("#password").attr("value");
if(password == "Podaj tytuł zdjęcia...")
$("#password").attr("value","")
})
$("#password").blur(function(e){
password = $("#password").attr("value");
if(password == "")
$("#password").attr("value","Podaj tytuł zdjęcia...")
})
$("#description").focus(function(e){
if(textarea.innerHTML == "Wpisz opis do zdjęcia...")
textarea.innerHTML = "";
})
var pause = false;
var margin;
var blocked = false;
var count = 0;
var roller = document.getElementById("roller");
var allPhotos = roller.getElementsByTagName("div").length - 3;
var maxMargin = allPhotos * 236 * -1;
$("#roll_left").click(function(e)
{
e.preventDefault();
if(blocked)return;
pause=true;
blocked=true;
setTimeout(function(){blocked=false;},1000);
margin=parseFloat($("#roller").css('marginLeft'));
if(margin > 0)return;
$("#roller").animate({
marginLeft: "+=236px"
}, 500);
});
$("#roll_right").click(function(e)
{
e.preventDefault();
if(blocked)return;
pause=true;
blocked=true;
setTimeout(function(){blocked=false;},1000);
margin=parseFloat($("#roller").css('marginLeft'));
if(margin < maxMargin) return;
$("#roller").animate({
marginLeft: "-=236px"
}, 500);
});
$(".single_photo").mouseenter(function(){
pause=true;
});
$(".single_photo").mouseleave(function(){
pause=false;
});
function roll()
{
margin=parseFloat($("#roller").css('marginLeft'));
if(!pause)
{
//console.log('!pause', margin);
if(margin <= -1888) {
$("#roller").animate({marginLeft: "472px"}, 500);
setTimeout(roll,2500);
return;
}
$("#roller").animate({marginLeft: "-=236px"}, 500);
setTimeout(roll,2500);
}
else
{
//console.log('pause');
setTimeout(roll,2500);
}
}
setTimeout(roll,2500);
var xmlHttp = createXmlHttpRequestObject();
$(".thumbnail").click(function(e){
e.preventDefault();
var element_id = jQuery(this).attr("id");
process(element_id);
})
function createXmlHttpRequestObject()
{
var xmlHttp;
xmlHttp = new XMLHttpRequest();
if(!xmlHttp)
alert("Blad podczas tworzenia obiektu XMLHttp");
else
return xmlHttp;
}
function process(element_id)
{
if(!xmlHttp)
{
alert("Obiekt xmlHttp nie istnieje!");
return;
}
xmlHttp.open("GET","change_photo.php?id="+element_id, true);
xmlHttp.onreadystatechange = handleRequestStateChange;
xmlHttp.send(null);
}
function handleRequestStateChange()
{
div = document.getElementById("photography");
if(xmlHttp.readyState == 4 && xmlHttp.status == 200)
{
response = xmlHttp.responseText;
div.innerHTML = response;
}
}
BODY {
BACKGROUND-COLOR: #576366; FONT-VARIANT: small-caps; MARGIN: 0px; COLOR: #c9ccca
}
HTML {
TEXT-ALIGN: center
}
BODY {
TEXT-ALIGN: center
}
IMG {
BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px
}
A {
BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; BORDER-TOP: 0px; BORDER-RIGHT: 0px; TEXT-DECORATION: none
}
H1 {
MARGIN: 0px 0px 10px; FONT-FAMILY: Impact; FONT-SIZE: 56px
}
#container {
MARGIN: 0px auto; HEIGHT: 1000px
}
#header {
BACKGROUND-IMAGE: url(../images/area_bg.jpg); WIDTH: 100%; BACKGROUND-REPEAT: repeat-x; HEIGHT: 300px; PADDING-TOP: 56px
}
#logo {
BACKGROUND-IMAGE: url(../images/logo.jpg); MARGIN: 0px auto; WIDTH: 1004px; BACKGROUND-REPEAT: no-repeat; HEIGHT: 192px
}
#menu {
MARGIN: 9px auto; PADDING-LEFT: 10%; WIDTH: 1004px; HEIGHT: 40px
}
A.menu_link {
FILTER: alpha(opacity=40); FLOAT: left; opacity: 0.4
}
A.menu_link:hover {
FILTER: alpha(opacity=100); opacity: 1
}
#content {
TEXT-ALIGN: left; MARGIN: 0px auto; MIN-HEIGHT: 400px; WIDTH: 1004px
}
#photo_large {
BACKGROUND-IMAGE: url(../images/ajax-loader.gif); BACKGROUND-COLOR: #c9ccca; WIDTH: 527px; BACKGROUND-REPEAT: no-repeat; BACKGROUND-POSITION: center 50%; FLOAT: left; HEIGHT: 358px
}
#photo_large IMG {
MARGIN: 10px
}
#photo_description {
WIDTH: 450px; FONT-FAMILY: Comic Sans MS; FLOAT: right; FONT-SIZE: 28px
}
#hidder {
WIDTH: 708px; FLOAT: left; HEIGHT: 160px; OVERFLOW: hidden; position: relative;
}
#roller {
WIDTH: 2000px; MAX-HEIGHT: 160px; position: absolute;
}
#rolling_gallery {
MARGIN: 40px auto; WIDTH: 846px
}
.single_photo {
WIDTH: 236px; FLOAT: left; HEIGHT: 160px
}
.single_photo IMG {
MARGIN: 5px; WIDTH: 226px; HEIGHT: 150px
}
#roll_left {
MARGIN: 43px 0px; DISPLAY: block; FLOAT: left
}
#roll_right {
MARGIN: 43px 0px; DISPLAY: block; FLOAT: left
}
.thumbnail {
DISPLAY: block
}
#links A {
FONT-SIZE: 14px; TEXT-DECORATION: underline
}
#author A {
FONT-SIZE: 14px; TEXT-DECORATION: underline
}
#links A:hover {
FONT-SIZE: 15px; TEXT-DECORATION: none
}
#author A:hover {
FONT-SIZE: 15px; TEXT-DECORATION: none
}
#links {
WIDTH: 50%; FLOAT: left
}
#author {
WIDTH: 50%; FLOAT: right
}
#contact_data {
LINE-HEIGHT: 25px; MARGIN: 5% 0px 0px 5%; FONT-SIZE: 20px
}
#sessions_data {
TEXT-ALIGN: justify; LINE-HEIGHT: 27px; MARGIN: 10px 0px 0px 25px; FONT-SIZE: 25px
}
#author_data {
LINE-HEIGHT: 30px; MARGIN: 10px 0px 0px 25px; FONT-SIZE: 20px
}
#worktools {
LIST-STYLE-TYPE: none; MARGIN: 0px 0px 0px 15px
}
#worktools A {
TEXT-DECORATION: underline
}
#worktools A:hover {
TEXT-DECORATION: none
}