🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.javascript
14 messages
14 total messages Started by nintendo Wed, 29 Sep 2010 20:36
Przeniesienie elementów
#50302
Author: nintendo
Date: Wed, 29 Sep 2010 20:36
32 lines
1751 bytes
Witam,
dla skryptowców pewno banalne pytanie.
Mamy kod:

<div id="jeden">pierwszy div</div>
<div id="dwa">drugi div</div>
<div id="trzy">trzeci div</div>

Jakimi poleceniami mogę przenieść miejscami divy jeden i dwa, aby po 
przeniesieniu HTML wyglądał:

<div id="dwa">drugi div</div>
<div id="jeden">pierwszy div</div>
<div id="trzy">trzeci div</div>

Dodatkowo, jak przenieść elementy X1, X2

<div id="X1">pierwszy div</div>
<div id="X2">drugi div</div>
<div id="X3">trzeci div</div>

Aby po przeniesieniu kod HTML wyglądał:

<div id="X2">drugi div</div>
<div id="X1">pierwszy div</div>
<div id="X3">trzeci div</div>

Jaka różnica między pierwszym i drugim? Taka, że w drugim przykładzie nie 
znamy identyfikatora elementu X2 (czyli tego wyżej), czyli klikamy na akcje 
przenoszącą X1 do góry. Pewno będzie coś z .parent.... :)

Z góry dziękuję 
Re: Przeniesienie elementów
#50303
Author: nintendo
Date: Wed, 29 Sep 2010 20:37
1 lines
971 bytes
Aha, no i rozwiązanie może być w jquery :) jeśli będzie prościej 
Re: Przeniesienie elementów
#50304
Author: Peter May
Date: Wed, 29 Sep 2010 22:25
32 lines
1702 bytes
W dniu 2010-09-29 22:36, nintendo pisze:
> Witam,
> dla skryptowców pewno banalne pytanie.
> Mamy kod:
>
> <div id="jeden">pierwszy div</div>
> <div id="dwa">drugi div</div>
> <div id="trzy">trzeci div</div>
>
> Jakimi poleceniami mogę przenieść miejscami divy jeden i dwa, aby po
> przeniesieniu HTML wyglądał:
>
> <div id="dwa">drugi div</div>
> <div id="jeden">pierwszy div</div>
> <div id="trzy">trzeci div</div>

Spróbuj tak:

var swapNode = function(element1, element2)
{
  var nextElm = element1.nextSibling;
  var parentElm = element1.parentNode;
  element2.parentNode.replaceChild(element1, element2);
  parentElm.insertBefore(element2, nextElm);
}

var e1 = document.getElementById("jeden");
var e2 = document.getElementById("dwa");
swapNode(e1, e2);

-- 
Peter
Re: Przeniesienie elementów
#50305
Author: nintendo
Date: Thu, 30 Sep 2010 11:13
12 lines
1269 bytes
Ogólnie chodziło mi o coś takiego:

$(function(){
    $('.up').click(function(){
      $(this).parent().insertBefore($(this).parent().prev());
    });

    $('.down').click(function(){
      $(this).parent().insertAfter($(this).parent().next());
    })

  }); 
Re: Przeniesienie elementów
#50306
Author: Peter May
Date: Thu, 30 Sep 2010 13:54
18 lines
1315 bytes
W dniu 2010-09-30 13:13, nintendo pisze:
> Ogólnie chodziło mi o coś takiego:
>
> $(function(){
>      $('.up').click(function(){
>        $(this).parent().insertBefore($(this).parent().prev());
>      });
>
>      $('.down').click(function(){
>        $(this).parent().insertAfter($(this).parent().next());
>      })
>
>    });

A do czego Ci tutaj jest potrzebne jQuery?

-- 
Peter
Re: Przeniesienie elementów
#50307
Author: nintendo
Date: Thu, 30 Sep 2010 14:31
25 lines
1675 bytes
Użytkownik "Peter May" <peter.may@onet.pl> napisał w wiadomości 
news:i824rn$jn7$1@news.onet.pl...
>W dniu 2010-09-30 13:13, nintendo pisze:
>> Ogólnie chodziło mi o coś takiego:
>>
>> $(function(){
>>      $('.up').click(function(){
>>        $(this).parent().insertBefore($(this).parent().prev());
>>      });
>>
>>      $('.down').click(function(){
>>        $(this).parent().insertAfter($(this).parent().next());
>>      })
>>
>>    });
>
> A do czego Ci tutaj jest potrzebne jQuery?
>
> -- 
> Peter

jQuery jest użyte w skrypcie, więc można zastosowac je również do tej 
funkcji. Jak widać opłaca się - bo nie trzeba pisać tak dużo kodu, aby 
uzyskać dany efekt. 
Re: Przeniesienie elementów
#50308
Author: Peter May
Date: Thu, 30 Sep 2010 19:43
31 lines
1910 bytes
W dniu 2010-09-30 16:31, nintendo pisze:
> Użytkownik "Peter May"<peter.may@onet.pl>  napisał w wiadomości
> news:i824rn$jn7$1@news.onet.pl...
>> W dniu 2010-09-30 13:13, nintendo pisze:
>>> Ogólnie chodziło mi o coś takiego:
>>>
>>> $(function(){
>>>       $('.up').click(function(){
>>>         $(this).parent().insertBefore($(this).parent().prev());
>>>       });
>>>
>>>       $('.down').click(function(){
>>>         $(this).parent().insertAfter($(this).parent().next());
>>>       })
>>>
>>>     });
>>
>> A do czego Ci tutaj jest potrzebne jQuery?
>>
>> --
>> Peter
>
> jQuery jest użyte w skrypcie, więc można zastosowac je również do tej
> funkcji. Jak widać opłaca się - bo nie trzeba pisać tak dużo kodu, aby
> uzyskać dany efekt.

Skąd możesz wiedzieć, że "trzeba pisać tak dużo kodu", skoro nie wiesz, 
jak to napisać? Eh... :/

-- 
Peter
Re: Przeniesienie elementów
#50312
Author: NKAB -
Date: Fri, 01 Oct 2010 09:48
27 lines
1292 bytes
Może tak?

<div id="jeden" style="background:red">pierwszy div</div>
<div id="dwa" style="background:orange">drugi div</div>
<div id="trzy" style="background:silver">trzeci div</div><br>

<script>
zm1a=dwa.style.background;
zm2a=jeden.style.background;
zm1b=dwa.innerHTML;
zm2b=jeden.innerHTML;


jeden.style.background=zm1a
jeden.innerHTML=zm1b;

dwa.style.background=zm2a;
dwa.innerHTML=zm2b;

</script>


Andrzej.


-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Re: Przeniesienie elementów
#50309
Author: nintendo
Date: Fri, 01 Oct 2010 10:04
38 lines
2336 bytes
Użytkownik "Peter May" <peter.may@onet.pl> napisał w wiadomości 
news:i82p8q$c6e$1@news.onet.pl...
>W dniu 2010-09-30 16:31, nintendo pisze:
>> Użytkownik "Peter May"<peter.may@onet.pl>  napisał w wiadomości
>> news:i824rn$jn7$1@news.onet.pl...
>>> W dniu 2010-09-30 13:13, nintendo pisze:
>>>> Ogólnie chodziło mi o coś takiego:
>>>>
>>>> $(function(){
>>>>       $('.up').click(function(){
>>>>         $(this).parent().insertBefore($(this).parent().prev());
>>>>       });
>>>>
>>>>       $('.down').click(function(){
>>>>         $(this).parent().insertAfter($(this).parent().next());
>>>>       })
>>>>
>>>>     });
>>>
>>> A do czego Ci tutaj jest potrzebne jQuery?
>>>
>>> --
>>> Peter
>>
>> jQuery jest użyte w skrypcie, więc można zastosowac je również do tej
>> funkcji. Jak widać opłaca się - bo nie trzeba pisać tak dużo kodu, aby
>> uzyskać dany efekt.
>
> Skąd możesz wiedzieć, że "trzeba pisać tak dużo kodu", skoro nie wiesz, 
> jak to napisać? Eh... :/
>
> -- 
> Peter

Przecież to oczywiste. Po to został stworzony jquery, żeby takie m.in. takie 
pierdółki robić w  nim. Jeżeli uważasz, że jest inaczej to czekam na kod 
czysto JS dający ten sam efekt ;) 
Re: Przeniesienie elementów
#50313
Author: nintendo
Date: Fri, 01 Oct 2010 10:06
34 lines
1722 bytes
Użytkownik "NKAB -" <nkab.WYTNIJ@gazeta.pl> napisał w wiadomości 
news:i84aqa$8mb$1@inews.gazeta.pl...
> Może tak?
>
> <div id="jeden" style="background:red">pierwszy div</div>
> <div id="dwa" style="background:orange">drugi div</div>
> <div id="trzy" style="background:silver">trzeci div</div><br>
>
> <script>
> zm1a=dwa.style.background;
> zm2a=jeden.style.background;
> zm1b=dwa.innerHTML;
> zm2b=jeden.innerHTML;
>
>
> jeden.style.background=zm1a
> jeden.innerHTML=zm1b;
>
> dwa.style.background=zm2a;
> dwa.innerHTML=zm2b;
>
> </script>
>
>
> Andrzej.
>
>
> -- 
> Wysłano z serwisu Usenet w portalu Gazeta.pl -> 
> http://www.gazeta.pl/usenet/

No, to daje tylko "złudzenie" przenoszenia. Podstawiamy kolorki tła. 
Elementy nie są przenoszone. 
Re: Przeniesienie elementów
#50310
Author: Peter May
Date: Fri, 01 Oct 2010 10:37
43 lines
2437 bytes
W dniu 2010-10-01 12:04, nintendo pisze:
> Użytkownik "Peter May"<peter.may@onet.pl>  napisał w wiadomości
> news:i82p8q$c6e$1@news.onet.pl...
>> W dniu 2010-09-30 16:31, nintendo pisze:
>>> Użytkownik "Peter May"<peter.may@onet.pl>   napisał w wiadomości
>>> news:i824rn$jn7$1@news.onet.pl...
>>>> W dniu 2010-09-30 13:13, nintendo pisze:
>>>>> Ogólnie chodziło mi o coś takiego:
>>>>>
>>>>> $(function(){
>>>>>        $('.up').click(function(){
>>>>>          $(this).parent().insertBefore($(this).parent().prev());
>>>>>        });
>>>>>
>>>>>        $('.down').click(function(){
>>>>>          $(this).parent().insertAfter($(this).parent().next());
>>>>>        })
>>>>>
>>>>>      });
>>>>
>>>> A do czego Ci tutaj jest potrzebne jQuery?
>>>>
>>>> --
>>>> Peter
>>>
>>> jQuery jest użyte w skrypcie, więc można zastosowac je również do tej
>>> funkcji. Jak widać opłaca się - bo nie trzeba pisać tak dużo kodu, aby
>>> uzyskać dany efekt.
>>
>> Skąd możesz wiedzieć, że "trzeba pisać tak dużo kodu", skoro nie wiesz,
>> jak to napisać? Eh... :/
>>
>> --
>> Peter
>
> Przecież to oczywiste. Po to został stworzony jquery, żeby takie m.in. takie
> pierdółki robić w  nim. Jeżeli uważasz, że jest inaczej to czekam na kod
> czysto JS dający ten sam efekt ;)

Jest inaczej, ale nie chce mi się rozwijać tego.

-- 
Peter
Re: Przeniesienie element�w
#50315
Author: satellite
Date: Fri, 01 Oct 2010 11:53
34 lines
1840 bytes
On 2010-09-29 22:36, nintendo wrote:

> Jakimi poleceniami mog� przenie�� miejscami divy jeden i dwa, aby po
> przeniesieniu HTML wygl�da�:
>
> <div id="dwa">drugi div</div>
> <div id="jeden">pierwszy div</div>
> <div id="trzy">trzeci div</div>


zobacz tak :

<div id="dwa">drugi div <span class="up">up</span> <span 
class="down">down</span></div>
<div id="jeden">pierwszy div <span class="up">up</span> <span 
class="down">down</span></div>
<div id="trzy">trzeci div <span class="up">up</span> <span 
class="down">down</span></div>


$('.up').live('click', function(){
	$(this).parent().clone().insertBefore($(this).parent().prev());
	$(this).parent().remove();
});


$('.down').live('click', function(){
	$(this).parent().clone().insertAfter($(this).parent().next());
	$(this).parent().remove();
});


tylko musisz cos wymyslic kiedy element dojdzie na sama gore albo sam 
dol zeby go nie usuwalo
Re: Przeniesienie elementów
#50311
Author: porneL
Date: Fri, 01 Oct 2010 17:20
15 lines
1516 bytes
On Fri, 01 Oct 2010 11:04:28 +0100, nintendo <nintendo@w.pl> wrote:

> Przecie¿ to oczywiste. Po to zosta³ stworzony jquery, ¿eby takie m.in.  
> takie
> pierdó³ki robiæ w  nim.

jQuery nie powstało po to, żeby robić w nim wszystko, szczególnie  
bezmyślnie. Widziałem już mistrzów jQuery, którzy zamiast użyć niemodnego  
i staroświeckiego input.checked, za pomocą jQuery wyszukiwali wszystkie  
elementy emulowanym selektorem :checked i liczyli ilość rezultatów w  
emulowanej przez jQuery tablicy.

-- 
http://pornel.net
this.author = new Geek("porneL");
Re: Przeniesienie elementów
#50314
Author: NKAB -
Date: Tue, 05 Oct 2010 06:58
17 lines
1317 bytes
nintendo <nintendo@w.pl> napisał(a): 
> 
> No, to daje tylko "złudzenie" przenoszenia. Podstawiamy kolorki tła. 
> Elementy nie są przenoszone. 
> 

No, nie chce wdawać się w dyskusję ale mógłbyś mi powiedzieć
do czego ci to przenoszenie elementów jest potrzebne.

Dla kogoś kto pracuje taka pogoń za rozwiązaniem zadania studenckiego
to utrata czasu i wzroku.

Andrzej.


-- 
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads