| Autor | Zpráva | ||
|---|---|---|---|
| Strongmann Profil |
#1 · Zasláno: 9. 6. 2013, 22:03:29
Dobrý den,
prosím o pomoc sem s js začátečník respektive totální amatér. Nejdříve tedy můj kód: <script type='text/javascript'>
function func1(){
var img1 = document.getElementById('menu-box');
function translate( elem, x, y ) {
var left1 = parseInt( css( elem, 'left' ), 10 ),
top1 = parseInt( css( elem, 'top' ), 10 ),
dx1 = left1 - x,
dy1 = top1 - y,
i1 = 1,
count1 = 50,
delay1 = 20;
function loop() {
if ( i1 >= count1 ) { return; }
i1 += 1;
elem.style.left = ( left1 - ( dx1 * i1 / count1 ) ).toFixed( 0 ) + 'px';
elem.style.top = ( top1 - ( dy1 * i1 / count1 ) ).toFixed( 0 ) + 'px';
setTimeout( loop, delay1 );
}
loop();
}
function css( element1, property1 ) {
return window.getComputedStyle( element1, null ).getPropertyValue( property1 );
}
window.onclick = function ( e ) {
var arr;
if ( e.target.nodeName === 'A' ) {
arr = e.target.title.split( ' ' );
translate( img1, +arr[0], +arr[1] );
}
};
}
</script>
<script type='text/javascript'>
function func2(){
var img = document.getElementById('logo_align');
function translate( elem, x, y ) {
var left = parseInt( css( elem, 'left' ), 10 ),
top = parseInt( css( elem, 'top' ), 10 ),
dx = left - x,
dy = top - y,
i = 1,
count = 50,
delay = 20;
function loop() {
if ( i >= count ) { return; }
i += 1;
elem.style.left = ( left - ( dx * i / count ) ).toFixed( 0 ) + 'px';
elem.style.top = ( top - ( dy * i / count ) ).toFixed( 0 ) + 'px';
setTimeout( loop, delay );
}
loop();
}
function css( element, property ) {
return window.getComputedStyle( element, null ).getPropertyValue( property );
}
window.onclick = function ( e ) {
var arr;
if ( e.target.nodeName === 'A' ) {
arr = e.target.title.split( ' ' );
translate( img, +arr[0], +arr[1] );
}
};
}
</script><li class="first"><a onclick="func1(),func2();" title="0 80" >O NÁS</a></li> Jde mi o to aby při prokliku na jeden odkaz se anymovalo více divů naráz. Bohužel nyní se spustí jen druhá funkce . Prosím jak udělat s těch dvou funkcí jednu a vůbec jak udělat aby kód byl funkční? Za jakékoli rady budu velice vděčný a předem děkuji! |
||
| Someone Profil |
#2 · Zasláno: 9. 6. 2013, 22:09:40
Kód jsem nestudoval, ale co zkusit:
<li class="first"><a onclick="func1();func2();" title="0 80" >O NÁS</a></li> |
||
| Storngmann Profil * |
#3 · Zasláno: 10. 6. 2013, 08:20:12
Výsledek je to, že se pustí jen druhá funkce. :(
|
||
| pako Profil * |
#4 · Zasláno: 10. 6. 2013, 08:53:53
v kazdej funkcii mas priradenu obsluhu udalosti
click na window cez window.onclick a takuto obsluhu mozes mat pre kazdy element na stranke len raz
pouzi addEventListener/attachEvent
|
||
|
Časová prodleva: 3 dny
|
|||
| peta Profil |
jinymi slovy
window.onclick = 123; // funkce 1 window.onclick = 456; // funkce 2 |
||
|
Časová prodleva: 13 let
|
|||
0