Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript][AJAX]inkrementacja o dwa, przewijanie warstw
dabb
post
Post #1





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 13.11.2003
Skąd: Poznań

Ostrzeżenie: (30%)
XX---


Jak w tym fragmencie kodu zmienić aby wartość num zmieniała się o 2, czyli domyślnie jest 1 i każdy następny skok to 3 5 itd
Ogólne założenie jest takie, aby przewijać warstwy na stronie o id ="project_numerek_nieparzysty"

CODE

function new_proj_id(which) {
current = $("#projects div.current").attr("id");
var num = current.substring(current.lastIndexOf('_') + 1, current.length);
if(which == 'next')
num++;
else
num--;
var new_id = 'project_' + num;
return new_id;
}


Ten post edytował dabb 8.02.2009, 15:46:05


--------------------
Remember to brush your teeth !
biedziak.com biuro rachunkowe w rozsądnej cenie.
Go to the top of the page
+Quote Post
piotrooo89
post
Post #2


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




num+2;

i

num-2;

?


--------------------
Go to the top of the page
+Quote Post
dabb
post
Post #3





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 13.11.2003
Skąd: Poznań

Ostrzeżenie: (30%)
XX---


nie działa taki zapis


--------------------
Remember to brush your teeth !
biedziak.com biuro rachunkowe w rozsądnej cenie.
Go to the top of the page
+Quote Post
piotrooo89
post
Post #4


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




to może tak:

Kod
ile = 2;
if(which == 'next')
num = num + ile;
else
num = num - ile;


--------------------
Go to the top of the page
+Quote Post
dabb
post
Post #5





Grupa: Zarejestrowani
Postów: 54
Pomógł: 0
Dołączył: 13.11.2003
Skąd: Poznań

Ostrzeżenie: (30%)
XX---


Przewijanie do tyłu działa. Poniżej cały kod js.

CODE
function preventDefaultAction(e) {
if (e) {
if (typeof e.preventDefault != 'undefined') {
e.preventDefault();
}
else {
e.returnValue = false;
}
}
return false;
}

function new_proj_id(which) {
current = $("#projects div.current").attr("id");
var num = current.substring(current.lastIndexOf('_') + 1, current.length);
ile = 2;
if(which == 'next')
num = num + ile;
else
num = num - ile;
var new_id = 'project_' + num;
return new_id;
}

function get_last_project_id() {
return $("#projects div.last").attr("id");
}

function set_current(id) {
$("#projects .current").removeClass('current');
$('#' + id).addClass('current');
}

function next_project(e) {
if($('#projects div.current').hasClass('last')) {
to_project('project_1', 1200);
}
else {
var new_id = new_proj_id('next');
to_project(new_id, 600);
}
return preventDefaultAction(e);
}

function previous_project(e) {
if($('#projects div.current').hasClass('first')) {
var last_id = get_last_project_id()
to_project(last_id, 1200);
}
else {
var new_id = new_proj_id('previous');
to_project(new_id, 600);
}
return preventDefaultAction(e);
}

function to_project(new_id, speed) {
if(speed) {
$("#projects").animate({
left: 70-$('#' + new_id).position().left
}, speed);
set_current(new_id);
}
else {
$("#projects").animate({
left: 370-$('#' + new_id).position().left
}, 600);
set_current(new_id);
}
}

function init() {
jQuery.easing.def = "easeOutQuint";
$("#next_project_btn").click(next_project);
$("#previous_project_btn").click(previous_project);
}

$(document).ready(function(){
init();
});


Style css dla warstw (warstwy mają szerokość 1024px):

CODE
#project_1 {left: 70px;}
#project_3 {left: 1094px;}
#project_5 {left: 2118px;}
#project_7 {left: 3142px;}
#project_9 {left: 4166px;}
#project_11 {left: 5190px;}
#project_13 {left: 6214px;}
#project_15 {left: 7238px;}
#project_17 {left: 8262px;}
#project_19 {left: 9286px;}
#project_21 {left: 10310px;}
#project_23 {left: 11334px;}
#project_25 {left: 12358px;}
#project_27 {left: 13382px;}
#project_29 {left: 14406px;}


Jak chce przesunąć w prawo function next_project(e) to dostaje błąd:

$("#" + new_id).position() is undefined
to_project("project_12", 600)action.js (wiersz 60)
next_project(Object originalEvent=Event click which=1 view=window)action.js (wiersz 40)
e()jquery-1...6.pack.js (wiersz 11)
e()jquery-1...6.pack.js (wiersz 11)
[Break on this error] left: 70-$('#' + new_id).position().left


--------------------
Remember to brush your teeth !
biedziak.com biuro rachunkowe w rozsądnej cenie.
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Spróbuj objąć:
Kod
370-$('#' + new_id).position().left

w nawiasy.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 10:25