Jump to content
  • 0

И Снова JQ menu


monya1987
 Share

Question

Вообще JQ знаю хре-но-го =) ps: хорошее начало темы... =)

Но решился сделать выпадающее меню на всем вам знакомой CMS Joomla вечно нужно было ставить какието модули и еще всякую фигню что-бы реализовать менюшку ... но углубившись в проблему я понял что это всё нафиг не требуется ...

значит код меню такой

<ul>
<li class="parent"><a>text</a>
<ul>
<li><a>text</a></li>
</ul>
</li>
</ul>

помогите JQ дописать ...

<script type="text/javascript">
$(document).ready(function(){

$("#topmenu ul li a").hover(function() {
$(this).next("li ul").animate({opacity: "show"}, "slow");
}, function() {
$(this).next("ul li a").animate({opacity: "hide"}, "fast");
});


});
</script>

вот тут

function() {
$(this).next("ul li a").animate({opacity: "hide"}, "fast");
});

у меня не стыковочка как на JQ реализовать onMouseOut от моей конструкции li ul a ?

Link to comment
Share on other sites

13 answers to this question

Recommended Posts

  • 0

Вижу тема получилась не совсем интересная ...

Но всё-же если кому интересно меню для joomla без использоваиня различных модулей ...

var arrowimages={down:['downarrowclass', 'down.gif', 6], right:['rightarrowclass', 'right.gif']}

var jqueryslidemenu={

animateduration: {over: 200, out: 100}, //duration of slide in/ out animation, in milliseconds

buildmenu:function(menuid, arrowsvar){
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={w:this.offsetWidth, h:this.offsetHeight, subulw:$subul.outerWidth(), subulh:$subul.outerHeight()}
this.istopheader=$curobj.parents("ul").length==1? true : false
$subul.css({top:this.istopheader? this._dimensions.h+"px" : 0})
$curobj.children("a:eq(0)").css(this.istopheader? {paddingRight: arrowsvar.down[2]} : {}).append(
''
)
$curobj.hover(
function(e){
var $targetul=$(this).children("ul:eq(0)")
this._offsets={left:$(this).offset().left, top:$(this).offset().top}
var menuleft=this.istopheader? 0 : this._dimensions.w
menuleft=(this._offsets.left+menuleft+this._dimensions.subulw>$(window).width())? (this.istopheader? -this._dimensions.subulw+this._dimensions.w : -this._dimensions.w) : menuleft
$targetul.css({left:menuleft+"px", width:this._dimensions.subulw+'px'}).slideDown(jqueryslidemenu.animateduration.over)
},
function(e){
var $targetul=$(this).children("ul:eq(0)")
$targetul.slideUp(jqueryslidemenu.animateduration.out)
}
) //end hover
}) //end $headers.each()
$mainmenu.find("ul").css({display:'none', visibility:'visible'})
}) //end document.ready
}
}

//build menu with ID="myslidemenu" on page:
jqueryslidemenu.buildmenu("myslidemenu", arrowimages)

свой ID в низу скрипта ставите и юзаите на здоровье ...

Еще правда остался вопрос к гуру JS :=)

вот ссылка на сайт http://www.feel-maestro.com/index.php

Проблема заключается в том что когда нажимаеш на выпадающее меню или на поиск , перестает работать слайдшоу вверху ...

Есть мнение что гдето нужно вставить return falce но вот где =((( не догоняю помогите плиз ...

Link to comment
Share on other sites

  • 0

jQuery презираю, так что и направить не смогу, т.к. писал на нем всего один раз.

Единственное, что могу сказать это "хре-но-Во" (проверочное слово "хреновенько"). И "истинный" (проверочное слово "истина"). ;)

Link to comment
Share on other sites

  • 0

psywalker

А он не говно - вещь хорошая... только придумана для оболванивания людей. Никто ж не говорит, что телевизор - говно, однако книга все-таки лучше.

Глубоко убежден в том, что надо знать язык на котором программируешь, а не фреймворк. Хотя тут найдутся несогласные со мной, и много. Но я считаю и буду считать, что любой фреймворк - порождение Зла, кроме написаного тобой ;)

Не представляешь сколко в сети оболваненных людей, которые клянчут те или иные плагины к фреймворкам, хотя там работы на 3 строчки кода...

Link to comment
Share on other sites

  • 0
psywalker

А он не говно - вещь хорошая... только придумана для оболванивания людей. Никто ж не говорит, что телевизор - говно, однако книга все-таки лучше.

Глубоко убежден в том, что надо знать язык на котором программируешь, а не фреймворк. Хотя тут найдутся несогласные со мной, и много. Но я считаю и буду считать, что любой фреймворк - порождение Зла, кроме написаного тобой ;)

Не представляешь сколко в сети оболваненных людей, которые клянчут те или иные плагины к фреймворкам, хотя там работы на 3 строчки кода...

аа, понял кажись, тоесть ты имеешь ввиду, что на JS можно сделать всё намного проще, потратив меньше кода, просто кому то лень учить?

1) Кстати слышал, что на JQ уходит намного меньше кода и типа его для этого и придумали, чтобы легче было писать. Гонево?

2) А на JQ можно сделать всё что угодно, и тоже самое что и на JS?

Link to comment
Share on other sites

  • 0

1) JQ - фреймворк, который сам написан на JS и подключается к странице, а потом уже используюися функции фреймворка. В результате получаем, что страница тянет за собой кучу не нужного кода, а используется всего несколько функций. Ну а код для JQ конечно меньше.

2) Тут опять повторюсь: JQ написан на JS, отсюда логично предположить, что теоритически они имеют равные возможности, но в реальности на JQ без дополнительных плагинов не так много можно сделать, а при знании JS не понадобятся никакие плагины, все можно будет самому, но повозиться придется подольше.

Link to comment
Share on other sites

  • 0
1) Кстати слышал, что на JQ уходит намного меньше кода и типа его для этого и придумали, чтобы легче было писать. Гонево?

Да на JQ и правда меньше кода получится, т.к. все самые необходимые функции уже кем-то написаны за тебя. Но многие забывают, что сам JQ тоже чего-то весит. Если я тебе дам свой класс драгресайза или скролла, то у тебя тоже кода мало будет - чтобы включить драг и резайз окна надо будет написать всего одну строку ;), так же и со скроллом.

2) А на JQ можно сделать всё что угодно, и тоже самое что и на JS?

JQ это программа написанная на JS - скорее на яваскрипте можно сделать то, что нельзя сделать на jQuery.

3) Псиволкер, покайся пока не поздно и отрекись от фреймворков раз и навсегда! И даже не думай заходить на джиквери.ком!!! А то в еретики запишу!!! Лучше книгу зубри!!!

Link to comment
Share on other sites

  • 0

Спасибо ребят.

Псиволкер, покайся пока не поздно и отрекись от фреймворков раз и навсегда! И даже не думай заходить на джиквери.ком!!! А то в еретики запишу!!! Лучше книгу зубри!!!

Да нее дружище, ты ты чегоо, я всё прекрасно понимаю и всегда слушаю советы умных людей. Если и буду учить эту хрень, то только после того, как выучу досконально JS (хотя это и невозможно), хотябы для того, чтобы знать вообще как этим барахлом пользоваться ;)

Link to comment
Share on other sites

  • 0
Спасибо ребят.

Да нее дружище, ты ты чегоо, я всё прекрасно понимаю и всегда слушаю советы умных людей. Если и буду учить эту хрень, то только после того, как выучу досконально JS (хотя это и невозможно), хотябы для того, чтобы знать вообще как этим барахлом пользоваться ;)

Где-то вычитал, что JQ написан теми, кто не очень хорошо знает JS для тех, кто не очень хорошо знает JS )))

Link to comment
Share on other sites

  • 0

(document).ready(function(){
$('.topmenu ul li').hover(
function() {
$(this).addClass("active");
$(this).find('ul').stop(true, true); // останавливаем всю текущую анимацию
$(this).find('ul').slideDown();
},
function() {
$(this).removeClass("active");
$(this).find('ul').slideUp('fast');
}
);
});

$

jQuery хорошая вещь и действительно гораздо проще )

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy