Autor Zpráva
VeeKey
Profil *
Ahoj,

marně se pokouším upravit javascriptový kód na to, aby před začátkem zavírací animace ještě počkal než se sbalí cca. 2 sekundy.
Jedná se mi o to, že když někdo omylem sjede z menu, tak ho musí znovu rozbalit.

To dokáže člověka pěkně naštvat, že musí znovu rozbalovat :D

Aplikace je na stránkách www.karasek.cz je to hormí menu (barevné)

script jsem stáhl, takže netuším, jak ho upravit.

ještě vkládám javasriptový kod (soubor droplinemenu.js):
/*********************
//* jQuery Drop Line Menu- By Dynamic Drive: http://www.dynamicdrive.com/
//* Last updated: June 27th, 09'
//* Menu avaiable at DD CSS Library: http://www.dynamicdrive.com/style/
*********************/

var droplinemenu={

arrowimage: {classname: 'downarrowclass', src: 'images/down.png', leftpadding: 5}, //customize down arrow image
animateduration: {over: 200, out: 100}, //duration of slide in/ out animation, in milliseconds

buildmenu:function(menuid){
jQuery(document).ready(function($){
var $mainmenu=$("#"+menuid+">ul")
var $headers=$mainmenu.find("ul").parent()
$headers.each(function(i){
var $curobj=$(this)
var $subul=$(this).find('ul:eq(0)')
this._dimensions={h:$curobj.find('a:eq(0)').outerHeight()}
this.istopheader=$curobj.parents("ul").length==1? true : false
if (!this.istopheader)
$subul.css({left:0, top:this._dimensions.h})
var $innerheader=$curobj.children('a').eq(0)
$innerheader=($innerheader.children().eq(0).is('span'))? $innerheader.children().eq(0) : $innerheader //if header contains inner SPAN, use that
$innerheader.append(
'<img src="'+ droplinemenu.arrowimage.src
+'" class="' + droplinemenu.arrowimage.classname
+ '" style="border:0; padding-left: '+droplinemenu.arrowimage.leftpadding+'px" />'
)
$curobj.hover(
function(e){
var $targetul=$(this).children("ul:eq(0)")
if ($targetul.queue().length<=1) //if 1 or less queued animations
if (this.istopheader)
$targetul.css({left: $mainmenu.offset().left, top: $mainmenu.offset().top+this._dimensions.h})
if (document.all && !window.XMLHttpRequest) //detect IE6 or less, fix issue with overflow
$mainmenu.find('ul').css({overflow: (this.istopheader)? 'hidden' : 'visible'})
$targetul.slideDown(droplinemenu.animateduration.over)
},
function(e){
var $targetul=$(this).children("ul:eq(0)")
$targetul.slideUp(droplinemenu.animateduration.out)
}
) //end hover
}) //end $headers.each()
$mainmenu.find("ul").css({display:'none', visibility:'visible', width:$mainmenu.width()})
}) //end document.ready
}
}



Děkuji za pomoc.
Viktor
VeeKey
Profil *
Prosím, kdo to vyřeší...
_es
Profil
VeeKey:
Skús si nájsť nejaký iný skript, čo má niečo také priamo v nastavení a svojej dokumentácii. Pochybujem, že sa niekomu bude chcieť prerábať henten.
Medvídek
Profil
VeeKey:
Mužeš zkusit dát 2s timeout než se zasune.
$targetul.slideUp(droplinemenu.animateduration.out) 


A jinak seš celkem zabiják, includovat tam nějakej font, kterej má 4.1 MB a čekám kvůli tomu, aby se vůbec načetla stránka :)
(http://www.karasek.cz/myriad-pro.cufonfonts.js)
_es
Profil
Medvídek:
Mužeš zkusit dát 2s timeout než se zasune.
Obávam sa, že by to spôsobilo iné problémy, tých úprav by bolo treba viac.
Medvídek
Profil
_es:
Máš pravdu, protože by se to zasunulo po 2 sekundách i kdyby z toho vyjel a zase na to najel.
_es
Profil
VeeKey:
Niečo podobné sa riešilo tu, no z toho zistíš len základný princíp, buď si to tam zapracuješ sám, alebo, ako som už radil, nájdi si iný skript, ktorý to už nejako implementuje.
VeeKey
Profil *
Díky všem za odpovědi, zkusim najít jiný script... :) s tím cufonem jsi mě překvapil, nikdy jsem si toho nevšiml, protože mám rychlý internet a písmo bylo nacashované :)
musím to zmenšit..
VeeKey
Profil *
Takže se mi to podařilo upravit :) našel jsem stránku, kde upravili prímo tenhle script, tak mi to funguje....

že mě to nenapadlo dřív :D

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0